C言語なら俺に聞け! Part 96

1デフォルトの名無しさん
  ヘ_ヘ�    まず問題を冷静に吟味して
 ミ�・�・ ミ   Cの話か否かをはっきりさせてから質問しましょう。�
 �( �°�)~  質問する前には最低限検索を。�

GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo!�(←ここ注目)�
ソース丸投げ、宿題、書籍�は専門の別スレがあるのでそこへさようなら。�

エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。�

C�FAQ�日本語訳�
http://www.kouno.jp/home/c_faq/
Cプログラマ必読�・プログラミング言語C(通称 K&R)�
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/

各種リンク、関連スレは>>2-13あたり�

C言語なら俺に聞け!�Part�95
http://pc5.2ch.net/test/read.cgi/tech/1100956766/
他の過去ログはここに�
http://nssearch.hp.infoseek.co.jp/clang/
2デフォルトの名無しさん:04/11/28 13:27:23
【コンパイラ】�
gcc�
http://gcc.gnu.org/

【Win32用の開発環境のみ。】�
gcc-cygwin�
http://www.redhat.com/software/tools/cygwin/
gcc-mingw�
http://www.mingw.org
Digital�Mars�C++�
http://www.digitalmars.com/
Open�Watcom�
http://www.openwatcom.com/
Borland�C++�Compiler�5.5.1�
http://www.borland.co.jp/cppbuilder/freecompiler/
Visual�C++�Developer�Center:�Microsoft�Visual�C++�Toolkit�2003�
http://msdn.microsoft.com/visualc/vctoolkit2003/

【ライセンスや機能などに問題あり】�
Microsoft�C/C++�13.0.9466(VC.NET)�
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32�
http://www.cs.virginia.edu/~lcc-win32/�
CINT�
http://root.cern.ch/root/Cint.html
めじろ++98�
http://www.vector.co.jp/soft/win95/prog/se075910.html
Intel�C++�Compiler�for�Linux�
http://developer.intel.com/software/products/compilers/clin/noncom.htm
3デフォルトの名無しさん:04/11/28 13:39:57
汚ねースレだな
4デフォルトの名無しさん:04/11/28 14:23:44
だいたいぼけなことをかいてるのはVC厨なんだよな。
5デフォルトの名無しさん:04/11/28 14:24:38
ヘミ猫が蓮コラ化してる・・・
6デフォルトの名無しさん:04/11/28 14:24:55
へみ猫って何?
7デフォルトの名無しさん:04/11/28 14:25:39
>>6

  ヘ_ヘ�
 ミ�・�・ ミ
 �( �°�)~
↑これ
8デフォルトの名無しさん:04/11/28 14:26:33
> いいかげん、組み込み至上主義は捨てろよ。
> 組み込みとそれ以外でどっちが特殊なのか考えてみろ

っていうか、いまどき組み込みもgccとgdbだってば。
少なくともわたしの持ってる携帯電話はそうです。
9デフォルトの名無しさん:04/11/28 14:26:56
  ヘ_ヘ 
 ミ ・ ・ ミ
  (  ° )~
本来はこう。
10デフォルトの名無しさん:04/11/28 14:27:38
>>7
なんか、意味不明の記号のかたまりにしかみえないんですが...
フォントのせい?
11デフォルトの名無しさん:04/11/28 14:29:07
同じに見える... > 本来
12デフォルトの名無しさん:04/11/28 14:30:19
>>11
 (半角スペース)のデコードが手抜きされる環境なんだろうな。
13デフォルトの名無しさん:04/11/28 14:32:16
 á é í ó ú 
14デフォルトの名無しさん:04/11/28 14:32:36
お祭り記念カキコ
15デフォルトの名無しさん:04/11/28 14:33:27
とりあえずこのスレ↓から使い切ってくださいね
C言語なら俺に聞け! Part 95
http://pc5.2ch.net/test/read.cgi/tech/1100951565/
16デフォルトの名無しさん:04/11/28 14:33:38
17デフォルトの名無しさん:04/11/28 14:34:28
>>15
このスレを消費する速度より遥かに速い速度でそっちを埋めてしまえばいい
18デフォルトの名無しさん:04/11/28 14:40:54
前回だれも答えてくれなかったんだけど、

i =& 10;

ってできたのはいつごろのコンパイラーなんですか?
19デフォルトの名無しさん:04/11/28 14:42:00
int hoge(input)
int
{
return input * 2;
}
とかやってた時代
20デフォルトの名無しさん:04/11/28 14:45:11
VC厨はこわがりすぎーなやつが多いなあ。
21デフォルトの名無しさん:04/11/28 14:45:44
>>19
あのー、むかしのコンパイラーでもそんなのは通らないんですけど。
22デフォルトの名無しさん:04/11/28 14:46:57
> むかしのコンパイラーでも

コンパイラをコンパイラーと言う奴はぼけ
23デフォルトの名無しさん:04/11/28 14:47:10
彼らは、ちょっとこわがると、ほかのひとがvoidに見えてくるんですよ ;-)
本物がきたらどうなることやら!
本物は最近fjでもみかけないなあ。
24デフォルトの名無しさん:04/11/28 14:47:41
> コンパイラをコンパイラーと言う奴はぼけ

ふつうコンパイラー
25デフォルトの名無しさん:04/11/28 14:48:01
姉のほうがアセンブラ
妹がコンパイラね
26デフォルトの名無しさん:04/11/28 14:48:29
> ふつうコンパイラー

ということにしたいのですね? :-P
私のまわりでコンパイラーなんて言ってる人は居ませんよ
27デフォルトの名無しさん:04/11/28 14:49:25
> 私のまわりでコンパイラーなんて言ってる人は居ませんよ

自分のまわりは厨ばかり、と宣言しているようなもんだ。
28デフォルトの名無しさん:04/11/28 14:49:26
> 姉のほうがアセンブラ
> 妹がコンパイラね

画調が気持ち悪いので読むのを途中でやめてしまいました.全裸で.
29デフォルトの名無しさん:04/11/28 14:49:59
> 画調が気持ち悪いので読むのを途中でやめてしまいました

もったいないのでわたしにください。
30デフォルトの名無しさん:04/11/28 14:50:31
> もったいないのでわたしにください。

Winnyで入手したので本は持ってません.
31デフォルトの名無しさん:04/11/28 14:51:21
indentコマンドは-gnuで使ってますか? それとも-kr?
うちの会社は8割ぐらいが-kr派なんですが、
残り2割りに6通りぐらいの小さい派閥があって
まとまらない。
32デフォルトの名無しさん:04/11/28 14:53:01
> indentコマンドは-gnuで使ってますか? それとも-kr?

うちは、コーディング規約で-krと決まっています。決めればいいだけでは?
33デフォルトの名無しさん:04/11/28 14:53:53
34デフォルトの名無しさん:04/11/28 14:54:27
こういう話題はVC厨はついてこれないので、
ちゃちゃいれて暴れるしかないんだろうなあ ;-)
35デフォルトの名無しさん:04/11/28 14:55:15
>>32
いえ、いくつかの派閥があって、規約を決めるのが難航してるんです。
36デフォルトの名無しさん:04/11/28 14:58:08
Cで、ある名前が、すでにtypedefされているかどうかを
調べる方法はありますか?
37デフォルトの名無しさん:04/11/28 15:01:24
-bsdっていわゆるオールマンスタイルだよね?
あれ、いやーん。(実は一時期つかってたが)
でも-gnuよりはましかなあ。
38デフォルトの名無しさん:04/11/28 15:12:04
便乗質問ですが...

入門者に読ませるCの本で (日本語の)
-krスタイルで書いてあるものはありませんか? (K&R以外で)

けっこうへんなスタイルの多いんですよ。日本のって。
39デフォルトの名無しさん:04/11/28 15:19:47
Javaでは決まっているが (そもそも演算子が3種類ある)
Cでは実装依存
40デフォルトの名無しさん:04/11/28 15:20:34
符号なしならば論理シフト、ってのは規格で決まっているが、
逆は真ではない。
41デフォルトの名無しさん:04/11/28 15:32:03
日本語のK&R本もかなり変態だが
42デフォルトの名無しさん:04/11/28 15:32:51
大半のCプログラマはK&Rの訳本を貶せるほどもCを理解してないが、とりあえず
他人がダメ本だと言ってるから同調している現状。
43デフォルトの名無しさん:04/11/28 15:33:14
> 日本語のK&R本もかなり変態だが

えーどのへんが?
コード部分は同じでしょ?
44デフォルトの名無しさん:04/11/28 15:34:02
>>43
よく見ろ
そのコード部分がかなり違う
45デフォルトの名無しさん:04/11/28 15:35:44
うちにある第2版同士をくらべてみましたが、
ほとんど同じです。
後ろのほうで0がOになってたり、lが1になってるところはありましたが、
ほんの数箇所です。

どこがちがうんですか?
46デフォルトの名無しさん:04/11/28 15:36:26
>>45
おいおい。簡単にだまされるなよ。44はK&Rなんか読んだことないのにしったぶり
してるだけなのは一目瞭然だろ?
47デフォルトの名無しさん:04/11/28 15:43:45
次からはこれもテンプレに入れようぜ
http://homepage2.nifty.com/tenk/scrap/kr2rev.htm
48デフォルトの名無しさん:04/11/28 15:51:11
手元の版(2003年2月印刷)では直ってるけど、
B11.  p.325  最下の4行
訳書  2555,  655355,   429496729575,  655355
正   255,  65535,   4294967295,   65535

この間違いはすげーな。石田ってCのこと何も分からずに本書いたのか?
49デフォルトの名無しさん:04/11/28 17:46:51
>>35

しょせんは慣れだ。多数決でもサイコロでも何でもいいからどれかに決めろ。
そもそも派閥があるくらいなら、「よそではこっちを使ってる」なんて言って
みても、どうせ蒸し返す奴が出てきて解決にならないだろ。
50デフォルトの名無しさん:04/11/28 19:08:26
ヨソはどうでもいいんですよ。
どれがより合理的かで決めたい。
51デフォルトの名無しさん:04/11/28 19:10:02
やはりコード部分には誤植は少ないですよね。
52デフォルトの名無しさん:04/11/28 19:31:50
とりあえず、皆しったぶりしてるだけだよな
53デフォルトの名無しさん:04/11/28 19:33:19
わたしはいちおう両方もってるので
54デフォルトの名無しさん:04/11/28 20:45:06
typedefの効果的な使い方がわかんねーよ
55デフォルトの名無しさん:04/11/28 20:52:35
>>54
とにかく何でもかんでも typedef しとけば間違いはない。

typedef int Int;
typedef int* IntPtr;
typedef const int* ConstIntPtr;
56デフォルトの名無しさん:04/11/28 22:10:11
ポインターや配列をtypedefしてしまうのはWindows厨みたいでかっこわるい
57デフォルトの名無しさん:04/11/28 22:13:22
>>56 最近の流行なのに。遅れてるなぁ。
58デフォルトの名無しさん:04/11/28 22:13:46
typedefを使うのは以下の2つに限定しろ。
(1) structと書くのを省略するためだけ。
typedef struct {
...
...
} HOGE;
(2) 同じ型でも目的に合わせて名前をつけるときだけ
typedef UCODE unsigned short; // Unicode用

そうではなく、typedef BYTE unsigned char;みたいなのは
むしろ使うな。
59デフォルトの名無しさん:04/11/28 22:15:20
>>58
> そうではなく、typedef BYTE unsigned char;みたいなのは
> むしろ使うな。
BYTE を typedef は推奨する。これを使わないのは素人。
60デフォルトの名無しさん:04/11/28 22:24:49
Javaの「byte」「char」とむしろ意味逆になるからなあ。
まあ、プロはつかわんな > typedef BYTE
61デフォルトの名無しさん:04/11/28 22:25:48
BYTEとかよろこんで使うのはVC厨
62デフォルトの名無しさん:04/11/28 22:26:30
C#マンセー うはwwwwwwwwwwwwwwwwww
63デフォルトの名無しさん:04/11/28 22:27:16
ごまかしきれなくなったVC厨があばれてます!
64デフォルトの名無しさん:04/11/28 22:28:36
GLib の guint8 は BYTE 使うのと同じだ。VC とは限らん。
http://www.gnome.gr.jp/docs/glib-1.2.x-refs/glib-basic-types.html
65デフォルトの名無しさん:04/11/28 22:29:10
> GLib の guint8 は BYTE 使うのと同じだ。

ぜんぜん意味ちがうだろ...。
その違いがわからないとは、さすがVC厨
66デフォルトの名無しさん:04/11/28 22:29:48
>>65
どうちがうんだ?
67デフォルトの名無しさん:04/11/28 22:29:49
ここは次スレだからまずPart95を使えよ

C言語なら俺に聞け! Part 95
http://pc5.2ch.net/test/read.cgi/tech/1100951565/
68デフォルトの名無しさん:04/11/28 22:40:34
>>66
名前のセンスが違うっていいたいんだよ・・・しょせんgnu乞食
69デフォルトの名無しさん:04/11/28 22:43:00
1bit整数型ってどうやって定義すればいいんですか?
70デフォルトの名無しさん:04/11/28 22:44:19
>>69
そんなの何に使うの?
struct でビットフィールド使えばできるけど、
メモリが節約できるわけじゃないよ。
71デフォルトの名無しさん:04/11/28 22:44:25
bool foo; でOK
72デフォルトの名無しさん:04/11/28 22:45:00
> 名前のセンスが違うっていいたいんだよ

ださいVC厨が「センス」だなんて言ってます ;-)
73デフォルトの名無しさん:04/11/28 22:45:34
> ここは次スレだからまずPart95を使えよ

Part 95 はすでに1000超えました。
74デフォルトの名無しさん:04/11/28 22:46:08
> どうちがうんだ

やーい > そんなこともわからないVC厨
75デフォルトの名無しさん:04/11/28 22:50:11
#include <stdio.h>
#include <stdbool.h>

main()
{
  bool a, b;

  a = true;
  if (a)
    b = false;
  b++;
  a++;
  printf("%d %d\n", a, b);
}
// aの値に注目!
76デフォルトの名無しさん:04/11/28 22:51:15
憐憫
77デフォルトの名無しさん:04/11/28 23:00:03
fatal error C1083: インクルード ファイルがオープンできません。'stdbool.h': No such file or directory
78デフォルトの名無しさん:04/11/28 23:05:15
やーい > VC
79デフォルトの名無しさん:04/11/28 23:05:34
やはり「死に絶えた」コンパイラーだね > VC
80デフォルトの名無しさん:04/11/28 23:06:30
そういう君達はどんなコンパイラを使っているんだい。
81デフォルトの名無しさん:04/11/28 23:07:17
いろーんな処理系つかってるなあ。仕事でも趣味でも。合計で10種類近くか。
でも、このソース通らないコンパイラーは1つもないぞ。
82デフォルトの名無しさん:04/11/28 23:08:23
やーい > 死に絶えたコンパイラーにしがみついてる厨
83デフォルトの名無しさん:04/11/28 23:08:29
っっっっっっっっっるうううううううううっっっっっっbっっっっっっっっっっっっっっっっy!!!!!
84デフォルトの名無しさん:04/11/28 23:09:29
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!
85デフォルトの名無しさん:04/11/28 23:09:33
>>81
あやしいな。その10個のコンパイラ書き出してみて。
86デフォルトの名無しさん:04/11/28 23:11:12
あやしくないだろう。
わたしも10とはいわなくても5,6種類は使い分けている。
家では使わないので、全部会社の中だが。
87デフォルトの名無しさん:04/11/28 23:11:33
>>85
ネタに混じれ酢イクナイ
88デフォルトの名無しさん:04/11/28 23:12:16
perlやC#の悪口いうやつはいても、rubyの悪口言うやつはあまりいないので、
それの名前をだしておけばいいと思い込んでいる「Cがわからない厨」がいるのは
ここですか?
89デフォルトの名無しさん:04/11/28 23:12:22
>>86
じゃあ、書き出せよ。仕事でつかってるんだから空で書けるだろ
9085:04/11/28 23:12:33
>>87
そうかやはりネタだったか。ごめん。
91デフォルトの名無しさん:04/11/28 23:12:54
stdbool.hなんて単なるマクロの寄せ集めじゃん。
どっかから落として来てやったらVCでもちゃんと
通るよ。
92デフォルトの名無しさん:04/11/28 23:13:41
VC厨ってその程度であばれるぐらいだめなのか
93デフォルトの名無しさん:04/11/28 23:13:50
とりあえず>>86の回答を聞こうじゃないか
94デフォルトの名無しさん:04/11/28 23:14:11
> stdbool.hなんて

なんて言ってる時点ですでにだめなVC厨だとばれてる。
95デフォルトの名無しさん:04/11/28 23:14:29
るby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
96デフォルトの名無しさん:04/11/28 23:15:12
>>91
そんなこたーわかってんだよ。はやく10種類あげろや>>81
97デフォルトの名無しさん:04/11/28 23:15:33
> stdbool.hなんて単なるマクロの寄せ集めじゃん。

なわけない。

> どっかから落として来てやったらVCでもちゃんと通るよ。

こいつぼけ。
中に
typedef bool _Bool;
って書いてあるのに、どうやってVCで通るんだよ ぼけ ;-)
98デフォルトの名無しさん:04/11/28 23:15:49
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
Ruby
99デフォルトの名無しさん:04/11/28 23:16:15
こいつぼけRuby!!!!!!!!!!!!!!!!!!!
100デフォルトの名無しさん:04/11/28 23:16:52
> >>91
> そんなこたーわかってんだよ。

ってことでこいつも91と同じの「しったかぶりVC厨」決定。

stdbool.hをひろってきてもVCではとおりませーん (常識!)
101デフォルトの名無しさん:04/11/28 23:17:38
こいつぼけとか繰り返し言ってる奴は、いろんな意味ですさんでるね。
102デフォルトの名無しさん:04/11/28 23:18:30
ようするにgccしかないんだな?えっ?
103デフォルトの名無しさん:04/11/28 23:18:32
>>101
とかけば、自分がボケだといわれたことをごまかせるとおもっているあたり、
かなりぼけだね。
104デフォルトの名無しさん:04/11/28 23:19:03
>>102
え、gccでは通るんですか? ためしたの?
105デフォルトの名無しさん:04/11/28 23:19:13
>>100
ばかだな、VC 対応のヘッダーを拾ってくるって意味だ。
揚げ足とるな。
106デフォルトの名無しさん:04/11/28 23:19:37
なるほど。102はgccもさわったことないVC厨なのかー
107デフォルトの名無しさん:04/11/28 23:20:50
>>104
試してなんかねーよ。それじゃ0種類だな。10種類はどこいったんだ。
オラはよ出せや

>>81
おめーもだよ。
108デフォルトの名無しさん:04/11/28 23:21:32
> ばかだな、VC 対応のヘッダーを拾ってくるって意味だ

だからそんなものはないっていってんだよ ぼけ。
つくりようがねーだろ。defineやtypedefでごまかしてもbool型はつくれねーよ。
109デフォルトの名無しさん:04/11/28 23:22:55
>>81 は今、世界中のコンパイラを検索するのに必死です。
110デフォルトの名無しさん:04/11/28 23:23:31
可哀想に。
111デフォルトの名無しさん:04/11/28 23:23:46
死に絶えたVCをつかってるVC厨が、いたいところを突かれると
いちいち暴れるインターネットはここですか?
112デフォルトの名無しさん:04/11/28 23:23:56
>>108
そんなことは聞いてねーんだよ。まだ一種類も出てねーぞ
おまえコンパイラ使ったことねーんじゃねーの?
113デフォルトの名無しさん:04/11/28 23:25:18
VCはboolも使えないのかー
114デフォルトの名無しさん:04/11/28 23:25:49
>>113
.c を .cpp にすればいいだろ。
115デフォルトの名無しさん:04/11/28 23:27:08
>>81
もう20分は経つぞ。おめえホントは無職だろ。明日も履歴書100通
書いて死んどけよ。じゃあな
116デフォルトの名無しさん:04/11/28 23:27:12
> .c を .cpp にすればいいだろ。

boolつかうのにわざわざC++にするのか...だめすぎ。
117デフォルトの名無しさん:04/11/28 23:28:35
>>116
C89でboolとか言い出す香具師は痛い
118デフォルトの名無しさん:04/11/28 23:28:57
>>116
わざわざってな、拡張子変えるのがなんでわざわざなんだよ。
なんならプロジェクトの設定で .c をすべて C++ ソースとみなすことだってできるんだよ。
手間かからんだろ。
119デフォルトの名無しさん:04/11/28 23:29:30
なんで「C89」なんだ? いまさら死に絶えた規格をもってくる理由は?
120デフォルトの名無しさん:04/11/28 23:30:16
> わざわざってな、拡張子変えるのがなんでわざわざなんだよ。

そのダメさ加減がさすがVC厨ですね ;-)
121デフォルトの名無しさん:04/11/28 23:30:17
なるほど、C99マンセーな奴なのね。
122デフォルトの名無しさん:04/11/28 23:30:39
>>119
死に絶えたってそんなに思いたければ1人で勝手に叫んでたら?
123デフォルトの名無しさん:04/11/28 23:31:00
> なるほど、C99

っていうか、死に絶えたVCぐらいだろ。そうでないのは
124デフォルトの名無しさん:04/11/28 23:31:26
> なんならプロジェクトの設定で .c をすべて C++ ソースとみなすことだってできるんだよ。

っていうか、じゃあC++つかえよ ;-)
125デフォルトの名無しさん:04/11/28 23:31:28
>>120 都合のいいとこだけレスすな。
126デフォルトの名無しさん:04/11/28 23:31:38
もといアンチVCだったか。まあ、VCなんてどうでもいいけど。
127デフォルトの名無しさん:04/11/28 23:31:54
>>124 はぁ?論点わざとずらすな。
128デフォルトの名無しさん:04/11/28 23:32:13
>>126
おまえがどうでもいいかどうかがどうでもいいよ
129デフォルトの名無しさん:04/11/28 23:32:41
> もといアンチVCだったか。まあ、VCなんてどうでもいいけど。

こんなこといいつつ、こいつVCつかってそー

VCユーザーのほとんどは包茎らしいからな。
130デフォルトの名無しさん:04/11/28 23:32:56
>>128
オマエモナーってところですか、この流れだと。
131デフォルトの名無しさん:04/11/28 23:33:27
> >>119
> 死に絶えたって

そうだね。とうのむかしに死に絶えてるね。
132デフォルトの名無しさん:04/11/28 23:33:35
>>129
だからおまえが使っているコンパイラを10個書けよ、っていってんだよ。
133デフォルトの名無しさん:04/11/28 23:33:34
>>129
俺gcc使いの包茎wwwwwwwwwwwwwwwwwwwwwwwwwっをkkkkkkkkkkkkkkkkkkkkkkkkkk
134デフォルトの名無しさん:04/11/28 23:34:18
そりゃgccユーザーにも包茎はいっぱいいる。
だからといって、VCユーザーのほとんどが包茎だという事実をごまかせるわけではない。
135デフォルトの名無しさん:04/11/28 23:34:40
日本人のほとんどが包茎という事実wwwwwwwwwwww
136デフォルトの名無しさん:04/11/28 23:35:16
C言語の話しようぜ、さすがに。
137デフォルトの名無しさん:04/11/28 23:35:20
VCが死に絶えたとか恥も知らずに言ってるような井の中の蛙なんぞ戦力外だからな
どっちかつーと、どうでもいいって思っててくれた方がカカワリアイの心配がなくてありがたい
138デフォルトの名無しさん:04/11/28 23:35:41
> 日本人のほとんどが包茎という事実

統計では日本の成人男子の3割以上だと言われています。
139デフォルトの名無しさん:04/11/28 23:36:07
> VCが死に絶えたとか恥も知らずに言ってるような井の中の蛙

逆だろ ;-)
140デフォルトの名無しさん:04/11/28 23:36:32
まだ生きていると思っているのはVCユーザーぐらいのもんだ ;-)
141デフォルトの名無しさん:04/11/28 23:36:41
>逆だろ ;-)

おまえにとってな
142デフォルトの名無しさん:04/11/28 23:36:45
いやぁ本日はお日柄もよく、2スレ連続でぶっ潰せそうな勢いです。グラッチェ、グラッチェ
143デフォルトの名無しさん:04/11/28 23:37:24
>>140
そうじゃん
使ってねー奴が知ったかぶっても仕方のないこと
144デフォルトの名無しさん:04/11/28 23:38:27
結局 >>81 は逃げ切るつもりだな。
145デフォルトの名無しさん:04/11/28 23:38:42
> おまえにとってな

そうおもいたいのですね ;-)
かわいそうに。事実や常識をつきつけられても、「こいつがそうおもってるだけにすぎない」
とおもいこまないとやっていけないというのは、かなりかわいそうな精神状態です。
146デフォルトの名無しさん:04/11/28 23:39:09
C言語なら俺に聞け! Part 95
http://pc5.2ch.net/test/read.cgi/tech/1100951565/
まず↑のスレを使い切れよ
147デフォルトの名無しさん:04/11/28 23:39:35
> 使ってねー奴が知ったかぶっても仕方のないこと

やっぱり、VCユーザーだったか。
ってことは「井の中のかわず」はまさにおまえだろ ;-)
148デフォルトの名無しさん:04/11/28 23:39:48
>>142
そうなんよな。前前スレあたりから変なage厨が常駐してんだけど、なんとかしてくんない?
149デフォルトの名無しさん:04/11/28 23:39:48
なんせ、cl のエラーメッセージにヘッダが云々と書いてあるときの
疑うべきポイントも知らない付け焼き刃がいくら知ったかぶっても
死滅したかどうかとは全く無関係
150デフォルトの名無しさん:04/11/28 23:40:04
>>146
Part 95 はすでに1000超えました。
151デフォルトの名無しさん:04/11/28 23:40:20
>>145
自分の頭の中をわざわざ説明してくれなくていいよ
152デフォルトの名無しさん:04/11/28 23:40:44
>>146
ここは隔離スレだから、ほっといて。
153デフォルトの名無しさん:04/11/28 23:41:28
>>147
おまえ「ってことは」の用法間違ってるぞ
ニホンゴワカリマスカ?
154デフォルトの名無しさん:04/11/28 23:41:27
> なんせ、cl のエラーメッセージにヘッダが云々と書いてあるときの

なんていえばごまかせるとおもって、かなり古いのをひっぱってきてるけど、
ようは古いやつなら詳細確認するやついねーだろーからてきとーなとこいっても
わからんと思ってやってるのでは? ;-)
っていうか、そんな前の話をもってきてごまかさなきゃいけないっていう時点でダメ
155デフォルトの名無しさん:04/11/28 23:41:49
っていうか、clかー なつかしいなあ
156デフォルトの名無しさん:04/11/28 23:41:50
被害担当艦って奴か。
157デフォルトの名無しさん:04/11/28 23:42:31
>>154
わけわかめ
ま、あんたの論理破綻は今に始まったことじゃないが・・・
158デフォルトの名無しさん:04/11/28 23:42:45
とりあえずいいかげんsageれば?
159デフォルトの名無しさん:04/11/28 23:43:45
> ま、あんたの論理破綻は今に始まったことじゃないが

で、あんたってだれだよ。おれは今朝からかきはじめたのだが。ここには
160デフォルトの名無しさん:04/11/28 23:43:54
いつも後から出てきたスレが上がってるんだけど、
何か古いスレが埋まるのを恐れてる奴がいるのか?
161デフォルトの名無しさん:04/11/28 23:44:29
それにしてもVC厨すごいなー

ほかのまともなスレッドにはかけないから
ここに集中しちゃってるのかな?
162デフォルトの名無しさん:04/11/28 23:44:32
>>158
アフォの一つ覚えがまた始まったな
sageたきゃsageろよ、てめえで
163デフォルトの名無しさん:04/11/28 23:45:06
熱くくなりすぎて sage るの忘れてるんだろ。
164デフォルトの名無しさん:04/11/28 23:45:20
迷惑な奴だ。
165デフォルトの名無しさん:04/11/28 23:45:33
>stdbool.hをひろってきてもVCではとおりませーん (常識!)
なのに、これ使うとVC++6.0でもさっきのコード
ちゃんとコンパイル出来ますが、邪道ですか?
教えて下さい。>>100
ttp://seclan.dll.jp/stdbool.h
166デフォルトの名無しさん:04/11/28 23:46:11
> いつも後から出てきたスレが

あとからって、こっちがさきでは?

それに、いつもって、むかしからよくあったの?
おれは88ぐらいからしかよんでねーんだけど。
167デフォルトの名無しさん:04/11/28 23:46:47
> ちゃんとコンパイル出来ますが、邪道ですか?

コンパイルが通っても、実行結果がぜんぜんちがうじゃん.
168デフォルトの名無しさん:04/11/28 23:48:01
2が出たらにせもの > 実行結果
169デフォルトの名無しさん:04/11/28 23:48:06
>>159
オラオラ、文体乱れてるぞ
特徴コピーしてたんじゃねえのかw
170デフォルトの名無しさん:04/11/28 23:48:45
まあ、boolに++演算子が使える時点で原則的にはおかしいわな。
171デフォルトの名無しさん:04/11/28 23:49:24
> オラオラ、文体乱れてるぞ

反論できないからといって、そうやればごまかせると思うあたりが頭が弱いVC厨
172デフォルトの名無しさん:04/11/28 23:50:18
>>171
154みたいな崩壊を披露したアフォが言っても説得力ねえよ (プ
173デフォルトの名無しさん:04/11/28 23:50:28
> まあ、boolに++演算子が使える時点で原則的にはおかしいわな

おかしくない。標準規格でしっかり定義されている。
174デフォルトの名無しさん:04/11/28 23:51:11
Ruby厨と同じでgccを貶めたいが為に基地害のふりをしてVCを叩いているのだろうか。
175デフォルトの名無しさん:04/11/28 23:51:20
> 154みたいな崩壊を

崩壊だということにしたいみたいだけど、どう読んでも逆だろ。
176デフォルトの名無しさん:04/11/28 23:51:55
で、実行結果はどうなりました? > さっきのヘッダーでVC
177デフォルトの名無しさん:04/11/28 23:52:34
>>173
知らんかった。詳しく
178デフォルトの名無しさん:04/11/28 23:52:50
>>175
いーや、cl のエラーメッセージをおまえが読めてない事実は動かない
179デフォルトの名無しさん:04/11/28 23:53:23
>>177
もしかして足し算や掛け算できることも知らない?
180デフォルトの名無しさん:04/11/28 23:53:51
>>178
いーや、おまえがコンパイラを使ったことがない事実は動かない
181デフォルトの名無しさん:04/11/28 23:53:59
>>173
知らないです。無知ですまんが。
182デフォルトの名無しさん:04/11/28 23:54:09
まぁ知らないことがある奴を見下してるほうが、よっぽど見苦しいよな
183デフォルトの名無しさん:04/11/28 23:54:48
>>180
な、反論できねーだろ?
崩壊は間違いなくおまえなんだよ
184デフォルトの名無しさん:04/11/28 23:55:26
> いーや、cl のエラーメッセージをおまえが読めてない事実は動かない

あのーあれかいたのは私ですが。(なので171とかはちがう)
で、あれ「読めてない」ことにしてみたいだけど、
たんに改行についてVCが規格見たいしてないだけでしょ?
私の書いたとおりじゃん。

むしろそっちがしったかぶりして、あやうくはじをかくことろをうまくごまかしてたつもりっぽい ;-)
185デフォルトの名無しさん:04/11/28 23:55:56
>>183 ほーかい。
186デフォルトの名無しさん:04/11/28 23:56:17
>>184
は? 規格で undefined になってるところだよ
187デフォルトの名無しさん:04/11/28 23:56:24
gccでもclでも、
#include "stdbool.h"

int main(void) {
    bool a, b;

    a = true;
    if (a)
        b = false;
    b++;
    a++;
    printf("%d %d\n", a, b);
}
でなぜかprintf()がちゃんと動作したので記念カキコ
188デフォルトの名無しさん:04/11/28 23:57:01
なるほど。反論できなくなってきたので、昨日のやつの話題をひっぱってきて、
話をそらそうと思ったのか。

でも、昨日のやつにもしっかり反論されてやんの -)

あたまわるすぎー > VC厨
189デフォルトの名無しさん:04/11/28 23:57:12
>>184
1001で救われたからこそ、
こっちが切り出さなきゃ黙ってるつもりだったくせに
190デフォルトの名無しさん:04/11/28 23:57:38
> でなぜかprintf()がちゃんと動作したので記念カキコ

ちゃんとって、ようするに「同じ結果がでた」ってこと?
いくつになりましたか?
191デフォルトの名無しさん:04/11/28 23:58:07
>>190
両方とも2 1でしたよ('ー`)
192デフォルトの名無しさん:04/11/28 23:58:59
> は? 規格で undefined になってるところだよ

なってねーって。
おまえ、自分のつかってるVCのメッセージが英語になっただけでよめなかったくせに、
標準規格についてもしったかぶりするのかよ...≧

またはじかくだけだぞ。
193デフォルトの名無しさん:04/11/28 23:59:37
>>192
何の話かわかってねーくせに何が規格だカス
194デフォルトの名無しさん:04/11/29 00:00:05
> 両方とも2 1でしたよ('ー`)

で、VCにはさっきのURLのヘッダーを使ったの?

gccでは2にはならないけどな。そのgccにせものでは?
195187=191:04/11/29 00:00:19
ちなみに同ディレクトリに置いたstdbool.hを抹消して1行目を#include <stdbool.h>にして
gccでコンパイルしても2 1でしたよ('ー`)
196デフォルトの名無しさん:04/11/29 00:01:09
みなさん gcc のバージョンを書いてください。
197デフォルトの名無しさん:04/11/29 00:01:21
> 1001で救われたからこそ、
> こっちが切り出さなきゃ黙ってるつもりだったくせに

ぎゃくだろう。何か相手にまちがいがあったとおもって疑似エサにかかってるだけだろ おめーが
198187=191:04/11/29 00:01:45
>>195は間違いでしたよ('ー`)出力ファイル間違ってた
199デフォルトの名無しさん:04/11/29 00:01:52
>>197
現におまえ、かする雰囲気すら見せてない
200デフォルトの名無しさん:04/11/29 00:02:03
10種類のコンパイラはどうなったのれすか?
201デフォルトの名無しさん:04/11/29 00:02:18
typedef bool _Bool;で_Boolは1bit整数扱いなのね…まあ、仕方ないか。
202デフォルトの名無しさん:04/11/29 00:03:01
うちは3.3と3.4で試した > gcc
実行結果は2にはならんかった。
203デフォルトの名無しさん:04/11/29 00:03:37
10種類のコンパイラはどうなったんでしょう、奥さま。
204デフォルトの名無しさん:04/11/29 00:04:09
まあしょせんVCじゃ無理なんだよ > まともにCを扱う

ごまかしのヘッダーもってきても、コンパイルは通せても、結果がちがう。
205デフォルトの名無しさん:04/11/29 00:04:26

voidはVIPで粘土チンコ作ってるらしいよ
206デフォルトの名無しさん:04/11/29 00:05:04
> 同じ内容で煽りあう上にぜんぶageだし。

同じ内容ってどんなのだろー
207デフォルトの名無しさん:04/11/29 00:05:10
>>204 gcc 以外のコンパイラを教えてくださいな。
208デフォルトの名無しさん:04/11/29 00:05:41
誰かiccやらLSICやら持ってきて試せよ
209デフォルトの名無しさん:04/11/29 00:06:31
>>207
ワラタ
210デフォルトの名無しさん:04/11/29 00:08:19
まぁ、なんだな、コンパイラといえば gcc しか知らんやつだってことだな。
10種類ってのはどこにいったのやら。
211デフォルトの名無しさん:04/11/29 00:08:23
「いまならgccにおまけの9種類のコンパイラがついてます!!!」

「すご~~い!」
212デフォルトの名無しさん:04/11/29 00:09:20
インテルのコンパイラ8.1(Windows)でさっきのヘッダ使ったら
2 1になったが。
213デフォルトの名無しさん:04/11/29 00:10:06
あのヘッダ使ったらどのコンパイラでもそうなるよ
214デフォルトの名無しさん:04/11/29 00:10:08
VC厨って、こわがりすぎなんですねー

10種類のコンパイラーのひとには私も興味ありますが。
215デフォルトの名無しさん:04/11/29 00:10:28
IDないからかすごいね。
216デフォルトの名無しさん:04/11/29 00:10:50
>>208
はじめてgccとvc以外がでたな
217デフォルトの名無しさん:04/11/29 00:13:30
ここに書いているVC厨は何人ぐらいいると思いますか?

ぎゃくにそれをあおっているやつは何人ぐらいいるんでしょう?
218デフォルトの名無しさん:04/11/29 00:13:59
gcc VC(cl) icc LSI-C djgpp TurboC bcc watcom-C
あと2つ・・・難しいな。
219デフォルトの名無しさん:04/11/29 00:14:55
>>217
VC厨はゼロ。
煽りは1人。
いずれでもないのが 3-4 人。
220デフォルトの名無しさん:04/11/29 00:15:55
コード戦士は?
221デフォルトの名無しさん:04/11/29 00:16:04
目の前の道具に文句言うばかりで生産しないお荷物はいらん
うちには面接にこないでね
222デフォルトの名無しさん:04/11/29 00:16:54
whitesmithのCやLattice Cもしらんのか
Vitumin Cってのもあったし、(コマンド名はvc.exe)
Optimizing CやWizard Cや...(あと15個ぐらいはおもいだせるな。1時間ぐらいあれば^^)
223デフォルトの名無しさん:04/11/29 00:17:24
vitamin Cなら知ってるよ(^^)
224デフォルトの名無しさん:04/11/29 00:17:45
死に絶えたCの処理系の名前だったら、わたしも10や20言えます!
死んでないやつでおねがいします!
225デフォルトの名無しさん:04/11/29 00:18:06
Hajimeteno C なら知ってるよ (--;)
226デフォルトの名無しさん:04/11/29 00:18:56
Intel のやつと、Sun のやつと、ADS/RVCT と。
227デフォルトの名無しさん:04/11/29 00:19:01
CインタプリタとかいうのがCマガにくっついてたよな。コンパイラと言えるか微妙なとこだけど。
228デフォルトの名無しさん:04/11/29 00:19:14
こーどうぉりあーは実はパッケージの名前。
いろんなターゲットCPU用に製品がそんざいし、
けっこう中身がちがう。

その昔のMac用やWindows用のと、
ちょっと昔の携帯電話組み込み用のではコンパイラーががらっとちがう。
229デフォルトの名無しさん:04/11/29 00:19:17
djgppはgccの1ポートティング
turbocはbccの商品上の差別化

それからstdboolもってる10種類だからな
230デフォルトの名無しさん:04/11/29 00:19:35
>>224
「死に絶えた」の基準をちゃんと示してね
規格に完全合致しない処理系とかほざく池沼と、あんたは違うよね
231デフォルトの名無しさん:04/11/29 00:19:37
> CインタプリタとかいうのがCマガにくっついてたよな。コンパイラと言えるか微妙なとこだけど。

どこが微妙だよ...
232デフォルトの名無しさん:04/11/29 00:20:11
> VC厨はゼロ。

じぶんはちがうと思いたいのですね? ;-)
233デフォルトの名無しさん:04/11/29 00:20:35
ADS/RVCT は 1.2 までは stdbool なかったと思う。2.0 では知らん。
234デフォルトの名無しさん:04/11/29 00:21:00
> 「死に絶えた」の基準をちゃんと示してね

VCとかbccみたいなやつのことだろ。
235デフォルトの名無しさん:04/11/29 00:21:03
>>231
本当にインタプリタなのか、単に実行時コンパイル(Perlのように)し、事前コンパイルが不要だから
便宜上Cインタプリタと呼んでいたのか、確かめる術が無いから微妙なところ。
236デフォルトの名無しさん:04/11/29 00:21:13
>>232
ちがうって何と?
あんたの脳内基準なんかシラネーヨ
237デフォルトの名無しさん:04/11/29 00:21:46
>>234
ニホンゴワカリマスカ?
238デフォルトの名無しさん:04/11/29 00:22:36
> それからstdboolもってる10種類だからな

たいがいもってるのでは? 死んでないやつなら。
そこにあがってる、LSI-CやWatcomやらVCやらBorland Cみたいな「死んだ」やつ
じゃなければたいがいある。
239デフォルトの名無しさん:04/11/29 00:22:56
1まのところ誰も2種類以上あげてないわけだな
240デフォルトの名無しさん:04/11/29 00:23:03
ボーランドのフリーで配ってるC++5.5(bcc32.exe)でも
そのヘッダで
2 1になったぞ。
241デフォルトの名無しさん:04/11/29 00:23:18
>>238
その死んでないやつって、いったいいくつあるんだ?
242デフォルトの名無しさん:04/11/29 00:23:21
> 本当にインタプリタなのか、単に実行時コンパイル(Perlのように)し、事前コンパイルが不要だから
> 便宜上Cインタプリタと呼んでいたのか、確かめる術が無いから微妙なところ。

いやあれはperlやawkみたいな方式ではなく、インタープリターでした。
243デフォルトの名無しさん:04/11/29 00:23:27
> 「死んだ」やつじゃなければたいがいある。

では、10種類どうぞ
244デフォルトの名無しさん:04/11/29 00:23:31
>>238
だったら、とっとと言えよ
245デフォルトの名無しさん:04/11/29 00:23:49
> その死んでないやつって、いったいいくつあるんだ?

いっぱいあるだろ?
現在つかわれているたいがいのものが「死んでない」やつだ。
246デフォルトの名無しさん:04/11/29 00:23:51
結局、脳内基準で勝手に吠えてるだけなカスばっかりだな
247デフォルトの名無しさん:04/11/29 00:24:28
>>238
> たいがいもってるのでは?

実はお前、自信ないくせにでかい口を聞いてたわけだな。
248デフォルトの名無しさん:04/11/29 00:24:48
> ボーランドのフリーで配ってるC++5.5(bcc32.exe)でも
> そのヘッダで
> 2 1になったぞ。

そりゃなるだろ。同じヘッダーつかえば。
(gccでもなるだろう)
249デフォルトの名無しさん:04/11/29 00:24:59
晒したらつっこみどころ満載だからこそ「脳内」にしてあるんだろ (プ
250デフォルトの名無しさん:04/11/29 00:25:28
> 実はお前、自信ないくせにでかい口を

なんでおれにいうわけ?
251デフォルトの名無しさん:04/11/29 00:26:04
そもそもbccとvcのどっちがより「死んで」いると思っているのですか?
252デフォルトの名無しさん:04/11/29 00:26:10
>>242
そうでしたか、どうも。ちなみに何という名前でしたっけ?もう5年以上前のことなんでよく覚えてないんですよ。
253デフォルトの名無しさん:04/11/29 00:26:30
すごい十字集中砲火.。人気ものですね>>238
254デフォルトの名無しさん:04/11/29 00:26:45
CINTか?
255デフォルトの名無しさん:04/11/29 00:27:58
>>254
ああ、それですそれ。ありがとう。
256デフォルトの名無しさん:04/11/29 00:28:28
cl の使い方わかんねーやつ拗ねたなw
257デフォルトの名無しさん:04/11/29 00:29:54
VC厨の特徴であらたに発見されたもの
(1) cl.exeを直接つかったことがない。
(2) エラーメッセージが英語になると読めない。
258デフォルトの名無しさん:04/11/29 00:30:52
(3) 使い込んでないからエラーメッセージの癖を知らない
259デフォルトの名無しさん:04/11/29 00:31:26
(4) そのくせチンコは右手相手に使い込んでいるので真っ黒
260デフォルトの名無しさん:04/11/29 00:32:27
(4)だけ該当するぞ。うん。
261デフォルトの名無しさん:04/11/29 00:33:19
手でしてるひとって、それほど黒くないんですよ。
女性相手にしてるひとより。なんで?
262デフォルトの名無しさん:04/11/29 00:33:50
るbyわすれないで!!!!!!!!!!!
263デフォルトの名無しさん:04/11/29 00:36:36
VC厨って、Cの文法も中途半端なだけじゃなく
なんでもかんでもそこからぬけださえないんだよね。
で、「すでに死に絶えたVCを使ってる」ことや「ろくにCをわかってない」という事実を
めのまえにつきつけられると暴れるわけ。

その暴れるときに、ひかくてき初期には「おだいもく」をとなえてなんとか自分の
「痛さ」をやわらげようとする。よくあるセリフは
「まあ、そのC99をサポートしているコンパイラーはどれだけあるよ?」と
もう1こなんだっけ?
2つあるよね > よくみかけるの
ほかにもいろいらるんだけど、頻度が高い2つ。
264デフォルトの名無しさん:04/11/29 00:37:27
未だにCに固執するぼけも同類
265デフォルトの名無しさん:04/11/29 00:38:06
あ、おもいだした。
「いまどきCなんて」ってC++ユーザーやJavaゆーざーやC#ユーザーにいわれると、
きゅうにRuby厨に化けるんですよ。

だから、VC厨のいるときにかならずいっしょに出現する。
266デフォルトの名無しさん:04/11/29 00:38:51
漢字の割合をもっと高くして文章を書きましょう(2/10点)
267デフォルトの名無しさん:04/11/29 00:39:32
rubyだったら分野ちがうし、それほど悪口言うひといないってことを知って、
それで「話をそらそう」とするんでしょうね。
268デフォルトの名無しさん:04/11/29 00:39:33
傾向分析ご苦労様です。
269デフォルトの名無しさん:04/11/29 00:40:12
>それほど悪口言うひといないってことを知って
そんなばかな。
270デフォルトの名無しさん:04/11/29 00:40:45
そのあたりにVC厨の「精神的弱さ」が特徴的にあらわれているんですよ。
だからVC厨のいるところはいつもすぐスレッドが荒れる。
271デフォルトの名無しさん:04/11/29 00:41:13
> そんなばかな。

東京みやげによくもらいます。
272デフォルトの名無しさん:04/11/29 00:41:33
それは「東京ばなな」だろ
273デフォルトの名無しさん:04/11/29 00:42:17
Cで使わない記号は @ と $ と あと何ですか?
274デフォルトの名無しさん:04/11/29 00:42:46
え?真っ黒だけど。
275デフォルトの名無しさん:04/11/29 00:42:58
`
276デフォルトの名無しさん:04/11/29 00:43:06
いそいで調べてます。
20分以内に教えてください。
(もちろんgoogleもしましたがわかりませんでした)
277デフォルトの名無しさん:04/11/29 00:43:06
`
278デフォルトの名無しさん:04/11/29 00:43:35
# もじゃないの?
279デフォルトの名無しさん:04/11/29 00:43:48
どうやってincludeするの?
280デフォルトの名無しさん:04/11/29 00:44:16
>>278
プリプロセッサはどう考えてもCの一部。
281デフォルトの名無しさん:04/11/29 00:44:20
荒らしてたのはvoidの弟子どもだろ?
282デフォルトの名無しさん:04/11/29 00:44:21
>>273
消防署の人ですね?助かります。
283デフォルトの名無しさん:04/11/29 00:46:39
>>263
死に絶えたかどうかをあんたに押しつける意味は確かにないが
Cをわかってるかどうかには自信があって言ってるよ
あんたが幼稚園くらいの頃からやってるかもね
284デフォルトの名無しさん:04/11/29 00:46:52
voidはかんけーねーだろ

おまえら、なんかっていうとつごう悪いあいてでてくるとvoid関係者だと思ってしまう
それって、夜トイレいくときに暗がりがおばけにみえてしまうのと同じでは?
だから、「こわがりすぎー」っていわれるんだろ。
285デフォルトの名無しさん:04/11/29 00:47:59
> 死に絶えたかどうかをあんたに押しつける意味は確かにないが

で、VCは死に絶えているってことでいいんですね? (Y/y)

> Cをわかってるかどうかには自信があって言ってるよ

まあ、代入演算子の両側に空白をあけないおまえはわかってないね。

286デフォルトの名無しさん:04/11/29 00:48:00
voidは痛い奴の代名詞だろ。
287デフォルトの名無しさん:04/11/29 00:48:02
で、10種類は?
288デフォルトの名無しさん:04/11/29 00:48:11
消防士さん、まだ残り火があるようです。
289デフォルトの名無しさん:04/11/29 00:48:48
消防署の方から来ました。
290デフォルトの名無しさん:04/11/29 00:49:32
> voidは痛い奴の代名詞だろ。

いないときはそうやって余裕かましてるくせに、来るとおまえらこわがりすぎなんだよ。
291デフォルトの名無しさん:04/11/29 00:49:58
え、本人来たの?
292デフォルトの名無しさん:04/11/29 00:51:03
本人かどうかはどうでもいい。
まねするやつもぜんぶvoidだ!
293デフォルトの名無しさん:04/11/29 00:51:36
>で、VCは死に絶えているってことでいいんですね? (Y/y)

>>137
294デフォルトの名無しさん:04/11/29 00:51:46
まねって、どういうの?
295デフォルトの名無しさん:04/11/29 00:53:19
ATOKを馬鹿にすることじゃない?
296デフォルトの名無しさん:04/11/29 00:54:03
>>292
それって、こわがりすぎだって...
297デフォルトの名無しさん:04/11/29 00:54:13
> まねって、どういうの?

こわがりすぎー:-P
298デフォルトの名無しさん:04/11/29 00:54:36
voidタソハァハァ…
299デフォルトの名無しさん:04/11/29 00:56:45
わたし、日下部さんの本物に会ったことありますよ!
まだ本とかかかれるまえでしたから,サインとかはしてもらいませんでしたが。

うちの会社が彼に外注するCとアセンブラのプログラムのうちあわせでした。(もう20年以上前だ!)
300300:04/11/29 00:57:30
300
301デフォルトの名無しさん:04/11/29 00:57:46
20年前だとC99は無かったはずだよね?
そのころも「ふつうC99だろ?」って言ってましたか? (なわけねーって)
302\_____________/:04/11/29 00:58:36
             V    
   彡川三三三ミ
   川川 ::::::⌒ ⌒ヽ
  川川::::::::ー◎-◎-)
  川(6|::::::::  ( 。。))    カタカタカタ
 川川;;;::∴ ノ  3  ノ   ______      
    \_;;;;;;;;;;;;;;;;ノ   |  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ    |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
303デフォルトの名無しさん:04/11/29 00:59:16
わたしはfjのころからずっと読んでるが、本人が「ふつうC99」だとか言ってるのは
聞いたことないぞ。弟子が勝手に言ってるだけでは?
304デフォルトの名無しさん:04/11/29 01:00:07
弟子がやることは師匠が責任とれっ
305デフォルトの名無しさん:04/11/29 01:01:06
こないだ、「voidの生写真持ってる」って言ってたやつは、今夜はいないのか?
306デフォルトの名無しさん:04/11/29 01:02:10
@ $ # ` の4種類ですね。どうもありがとうございました。
307デフォルトの名無しさん:04/11/29 01:10:19
#は違うだろw
308デフォルトの名無しさん:04/11/29 01:19:39
違うんですか? どっちなんですか? はっきりしてください。
309デフォルトの名無しさん:04/11/29 01:20:05
>Cで使わない記号は @ と $ と あと何ですか?

# は使う方になるんぢゃねーの?
_ の方が使わない方にならんか?変数名とかには使うが。
310デフォルトの名無しさん:04/11/29 01:25:33
新しいキーワードには _Bool とかがあるなぁ...
311デフォルトの名無しさん:04/11/29 01:45:00
あたらしくねーだろ5年も前だ
312デフォルトの名無しさん:04/11/29 01:45:57
> しばらく読むのよすよ。
> 何度もああいうの現れたけど、その度にこれで自衛してきた。

こわがりすぎー
313デフォルトの名無しさん:04/11/29 01:58:59
で、5種類も出てこないの?
314デフォルトの名無しさん:04/11/29 02:01:20
これだけしつこくするところ見ると、
10種類とか書いたやつ、VC厨の自作っぽいな。
315デフォルトの名無しさん:04/11/29 02:03:44
>>314
とういうことにしたいのですね;-)
316デフォルトの名無しさん:04/11/29 02:07:38
C99対応のコンパイラーかどうかを
#ifdefとかで調べる方法ありますか
教えてください。
317デフォルトの名無しさん:04/11/29 02:12:13
ここは、半可通しかいないよ
318デフォルトの名無しさん:04/11/29 02:13:18
じゃあおしえてもらえないんですね。
319デフォルトの名無しさん:04/11/29 02:14:06
彼にきいても教えてくれないんです。
320デフォルトの名無しさん:04/11/29 03:15:19
その彼もVC厨なんだな
321v(^o^i)d:04/11/29 03:39:21
 
322デフォルトの名無しさん:04/11/29 04:59:24
おまえらみんなvoid恐怖症だな。
323デフォルトの名無しさん:04/11/29 08:44:38
しかし、20年以上も前の人がこんなに話題にされるとはねぇ。
本は兎も角、技術屋としてはとっくに終わってるよ。
324デフォルトの名無しさん:04/11/29 09:17:49
> 技術屋としてはとっくに終わってるよ。

すごーい。こんなこと言われるなんて、よほどこわがられてる...
(つまり、「そういうことにしてしまいたい!」という気持ちのあらわれなんだから)
325デフォルトの名無しさん:04/11/29 11:03:19
>>316
_STDC_
326デフォルトの名無しさん:04/11/29 11:45:21
おまいら教えて下さい

3000ステップぐらいのソース書いたのだが
コンパイルするとスンゲー数のエラー出やがる

ちょっとづつコンパイルかけるが吉かね?
それとも他にいい方法あるかね

どうなんだよ先輩ドモ
327デフォルトの名無しさん:04/11/29 13:05:48
20年以上も前の人って誰?
328デフォルトの名無しさん:04/11/29 13:39:49
>>326
その大量のエラーの中から、原因が明らかなもの(typo や include 忘
れ)をざっと探して修正。その後もう1回コンパイル。原因が明らかなエ
ラーがなくなったら、個々のエラーについて調べはじめる。

329デフォルトの名無しさん:04/11/29 14:06:02
つか、適当に切り分けてコンパイルすれば?
それとも一関数が3000行かね
330デフォルトの名無しさん:04/11/29 14:12:55
>>326
大抵は先頭の方にある文法エラーが後々まで尾を引いている。
分割できるなら分割し、そうでないなら最初の方の幾つかだけ修正してリコンパイル。
#つまり、>328と>329だね。

>>327
ボイドンでしょ。講師はやってる(らしい)けどプログラミングの現場からは離れてるってことではないかと。
331デフォルトの名無しさん:04/11/29 17:18:04
そろそろ次スレお願いします。
332デフォルトの名無しさん:04/11/29 17:28:09
で、10種類は?
333326:04/11/29 17:57:01
>>328 >>329 >>330
先輩ドモサンクス!

補足ですが一関数が3000ステップではなく、1ソースって感じです
今、分割の方法を取ってやっています

あんな口調だったのに答えてくれるおまいら愛してる
334\_____________/:04/11/29 20:45:06
>>326
#if 0 //one-piece
opai();
heso();
mamuko();
momo();
hiza();
sune();
tumasaki();
#endif

少しずつ下へずらしていって
どこで抵抗するか試してみるが(・∀・)イイ!!
335デフォルトの名無しさん:04/11/29 20:47:33
>>334
☆○(゜ο゜)o ぱ~んち
336デフォルトの名無しさん:04/11/29 21:01:01
そーいえばさ、誰だか忘れたけど、6000行くらいの関数
作ったって喜んでいる香具師いたな。
337デフォルトの名無しさん:04/11/29 23:38:57
338デフォルトの名無しさん:04/11/30 00:10:17
ああ、そういやぁ、いたな。
藤原だっけ?一個の長い関数を作って
行数で自慢していたのは?
他の奴だっけ?どっかのホームページに載ってたな
何かの対談のようだったが。
339デフォルトの名無しさん:04/11/30 00:20:47
>>338
藤原の翁のことを言っているなら、彼は長い関数を短く整理して悦に入っている方。
それで本も書けばWebPageも書いているわけで。
340デフォルトの名無しさん:04/11/30 00:28:07
758 :仕様書無しさん :04/11/29 18:35:48
この上司の台詞に俺はキレた・・・
「ドラクエ8のラスボスは主人公の兄イリアス」



759 :仕様書無しさん :04/11/29 18:54:19
>>758
うそだと言ってくれ・・・orz


761 :仕様書無しさん :04/11/29 19:14:45
>>758
おれはおまえにキレそうだ。
341デフォルトの名無しさん:04/11/30 00:29:02
>>340
おれはおまえにイキそうだ
342デフォルトの名無しさん:04/11/30 00:36:28
FILE *fin;
fin = ("book.txt", "r");
if(fin == NULL){
exit(1);
}

Cでこんな風にしているんですが
book.txtのファイルサイズを取得する関数は
C言語にありますか?
343デフォルトの名無しさん:04/11/30 00:37:26
あります。探してください。stdioには無かったりします
344デフォルトの名無しさん:04/11/30 00:38:02
>>342
C FAQへ。
345デフォルトの名無しさん:04/11/30 00:39:40
>stdioには無かったりします

fseekとftelでなんとか汁!
346デフォルトの名無しさん:04/11/30 00:55:15
FILE *fin;
fin = ("book.txt", "r");
fseek(fin,0,SEEK_END);
printf("%d\n",ftell(fin));
347デフォルトの名無しさん:04/11/30 02:30:31
> ボイドンでしょ。講師はやってる(らしい)けどプログラミングの現場からは離れてるってことではないかと。

いや、いいとしして現場に出てるらしい...。IRCで#じゃぺーんとかにいってみろ。本人もいるぞ。
どうかんがえても現場でる年じゃねーよなあ。管理側に行けないわけでもあるんだろうか
348デフォルトの名無しさん:04/11/30 02:34:01
トラブルの元だから誰も重責を与えたくない
349デフォルトの名無しさん:04/11/30 02:34:06
あんなのの肩を持つ気はさらさらないが
管理職にならないことにいちいち理由なんぞいらん
集団催眠にかかった者に自覚はないが他覚的には痛い姿だ
350デフォルトの名無しさん:04/11/30 02:37:04
statでもつかっとけ
351デフォルトの名無しさん:04/11/30 02:37:48
> それで本も書けばWebPageも書いているわけで。

彼のWebはだめすぎ。
352デフォルトの名無しさん:04/11/30 02:44:32
> あんなのの肩を持つ気はさらさらないが
> 管理職にならないことにいちいち理由なんぞいらん

でもー、たとえばプロ野球にたとえれば、王、長島とまではいかなくても、
たとえば江川ぐらいのが現役で選手やってたら変でしょー?

サッカーもジーコが現役でやってたらやっぱりへんー
353デフォルトの名無しさん:04/11/30 02:46:19
でも、来月発売でしょ? > void氏のコードが数万行入っている某製品

void嫌いの人も、知らずにつかってたりして...
354デフォルトの名無しさん:04/11/30 02:48:25
で、
C99対応のコンパイラーかどうかを
#ifdefとかで調べる方法は結局ないんですね?
355デフォルトの名無しさん:04/11/30 02:51:08
>>354
君は1日前にも満たない過去ログさえ読むことが出来ないの?
356デフォルトの名無しさん:04/11/30 03:04:59
で、結局ないのかー
357デフォルトの名無しさん:04/11/30 03:07:54
printf("%d\n", __STDC__);
で1は出るのだが、
これってC99が改訂されてC04になっても1は1なんだよね。
なんとかC99かどうか調べられないかなあ。
358デフォルトの名無しさん:04/11/30 07:16:50
よく知らんが、
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ / 100 == 1999)
とかで出来るんちゃう?

尤も、__STDC_VERSION__が定義されててもC99の機能が全部使えるかどうかは怪しいから
結局コンパイラごとの個別対応が必要になりそうな気がする。
359デフォルトの名無しさん:04/11/30 08:39:46
手元の本に、C++は繁雑な言語でベターCとは成りえず、
ある程度Cに習熟習熟すればC++で実現している全てを
より完結にCで記述出来るって書いてあるのですが、
Cでクラス、メソッド、継承などはどのように書けばいいでしょうか。
360デフォルトの名無しさん:04/11/30 08:51:31
おまえのような凡人は黙って使っとけばいいんだよ
361デフォルトの名無しさん:04/11/30 09:10:08
>>359
変換ツールがあるからそれ使っとけ。
362デフォルトの名無しさん:04/11/30 10:05:57
演算子について教えて欲しいのですが
例えば a に 5 を加算した値を a に代入する場合

a += 5;
a = a + 5;

上の2つは同じ動作をするのですが 、どちらが望ましいのでしょうか?
また、できあがったプログラムの処理の早さとかにも関係してくるのでしょうか?
363デフォルトの名無しさん:04/11/30 11:50:15
>>362
大昔の、コンパイラが馬鹿だった場合、a += 5 の方が効率よかった。
いまどき、どんなコンパイラでもその2つの結果生成されるコードは全く一緒。
364デフォルトの名無しさん:04/11/30 12:42:45
>>362
コンパイルに要する時間が、極々極々僅かに前者の方が短い気がする。
それは兎も角、C++を睨んで、前者に慣れておいたほうがいいと思うけど。
365362:04/11/30 13:07:10
>>363-364
質問に答えてくれてありがとうございました。
いちお、前者のほうを使っていくように心がけてみます。
366デフォルトの名無しさん:04/11/30 13:10:24
"YUKKO %-04d/%-02d/%-02d:%d:%2s",Y,M,D,H,B

↑これなに???

後ろのYMDHBというのは生年月日と身長、血液型らしい

前半部分がさっぱり理解不能。ヘルプ!
367デフォルトの名無しさん:04/11/30 13:28:18
YUKKO 年/月/日:身長:血液型と出力される。

%dは単なる整数出力。
%-04dも整数出力だが、数字が3桁以下でも4文字分のスペースを(左詰の-があるので)右側に開けて出力。%-02dも同じ
%2sは文字列、2というのは同様に1文字以下でも2文字分のスペースを空けるということ。
368デフォルトの名無しさん:04/11/30 13:35:38
>367
うぉーサンクス!さすがだぜ兄弟!

んで生年月日は1974年9月8日、身長160センチ、血液型はAB型なんだが、
具体的にどのように表記すればいいだろう?

ついでに頼むぜ!
369デフォルトの名無しさん:04/11/30 13:45:29
printf("YUKKO %-04d/%-02d/%-02d:%d:%2s", 1974, 9, 8, 160, "AB");
370デフォルトの名無しさん:04/11/30 13:55:33
>369

激しく㌧クス!

しかし何かが違うらしい!
パスワードなんだが受け付けてくれない(´・ω・`)ショボーン

とりあえずもう少しがんがってみる!
371デフォルトの名無しさん:04/11/30 14:01:46
printfでパスワード…?
372デフォルトの名無しさん:04/11/30 14:20:19
>371

いやね、あるファイルをダウンロードしたんだけど、そのパスワードのヒントが>366なのさ!

>369見て「さすが兄弟!これで解凍できるぜ!」と思ったら弾かれるのよ!

だいたい300MもあってDLに2時間、やっと落としたらこれだよ!

どないせっちゅーねん!
373デフォルトの名無しさん:04/11/30 14:25:15
それならこう入れてみたらどうだ?
YUKKO 1974/9 /8 :160:AB
374デフォルトの名無しさん:04/11/30 14:37:58
>373

うがぁ!!!!違うようだ!Uzeeeeeeeeeeeeee!

しかしプログラム板ってのは親切だな!
今日初めて来たが、こんなにすぐアドバイスをもらえるとは思えなかった。
改めて㌧クス!

まだ挑戦中。なんとかしてぇ!
375デフォルトの名無しさん:04/11/30 14:45:34
氏名          江崎友基子

生年月日  1974年9月8日生まれ

血液型             AB型

セントフォース所属

これから関西だけじゃなくて全国に羽ばたいて欲しい

放送タレントさんです。
376デフォルトの名無しさん:04/11/30 14:48:33
江崎友基子のプロフィール
http://www.centforce.com/profile/t_profile/ezaki.html

生 年 月 日 1974年9月8日
   
身 長 160cm
 
学 歴 金蘭短期大学英文科卒
   
血 液 型 AB型
   
特 技 フラワーアレンジメント
   
スポーツ スキー、スノーボード  
   
377デフォルトの名無しさん:04/11/30 16:02:56
10個の実数型データを単純選択法(直接選択法)で降順(大きい順)に並べ替えるプログラムを作成せよ。
すみません!これのプログラムを教えてもらえないでしょうか?よろしくお願いします!
378デフォルトの名無しさん:04/11/30 16:03:21
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
379デフォルトの名無しさん:04/11/30 16:50:32
下のコード中で7行目に構造体へのポインタをif文で評価していたり、
while文でループ制御に使ったりしているのですが、これは一体どの
ような意味になるのでしょうか?


1: static SeqNoEntry *Mac802_11GetSeqNo(
2: GlomoNode *node, GlomoMac802_11 *M802, NODE_ADDR destAddr)
3: {
4: SeqNoEntry *entry = M802->seqNoHead,
5: *prev = NULL;
6:
7: if (!entry){
8: ~ entryの値を代入~
9: return entry;
10: }
11:
12: while (entry){
13:   ~処理~
14: }
15:
16:  ~処理~
17: }

---------- SeqNoEntry 構造体 --------------
typedef struct seqno_entry_t
{
NODE_ADDR nodeAddr;
int fromSeqNo;
int toSeqNo;
struct seqno_entry_t *next;
} SeqNoEntry;
380デフォルトの名無しさん:04/11/30 16:55:46
どうでもいいけど、業務用のコードってこんなに難解なんですか?
仕様書番号をそのまま名前に放り込んだような・・・
381デフォルトの名無しさん:04/11/30 16:57:45
>>380
業務系は得てしてそう言う関数名をつける。
つーか、そうしないとコボル上がりのプログラマ崩れが五月蝿い。
382デフォルトの名無しさん:04/11/30 17:03:19
>>379
if (!entry)はif (entry == NULL)、while (entry)はwhile (entry != NULL)と同じ。
383379:04/11/30 17:05:42
>382
ありがとうございます。凄い助かりました!
384デフォルトの名無しさん:04/11/30 18:55:10
  <⌒/ヽ-、___
/<_/____/ そのレベルの質問だったのかよ。
385デフォルトの名無しさん:04/11/30 19:29:54
おまいら
ホストバイトオーダーって何よ?
386デフォルトの名無しさん:04/11/30 19:32:02
>>385
インディアンに対して巨根か短小かを問い掛ける言葉
387デフォルトの名無しさん:04/11/30 20:06:28
>>380
業務系はコードを暗記している量で実力が決まる世界だからね。
388デフォルトの名無しさん:04/11/30 20:12:04
業務系はつまらないよね。
オープンソースでライブラリ作っている方が楽しい。
389デフォルトの名無しさん:04/11/30 20:42:43
下の宣言をグローバル領域で行った場合、
「グローバルな、または静的なマネージ型オブジェクト、または __gc ポインタを宣言できません。」
とエラーが出てしまったのですが、下記ポインタをグローバル領域
に宣言する方法はないのでしょうか。
(WindowsXP VC++.net C言語で作ってます)

OracleConnection *con;
390デフォルトの名無しさん:04/11/30 21:20:00
>>389
それはCはCでもManagedCじゃ無いのか・・・
391389:04/11/30 21:34:43
MangledCです
392389:04/11/30 21:39:58
>>390
ManagedCというのは知りませんでした。
ではこのような宣言はどうすればできるでしょうか。
知っていましたら教えて下さい。
393デフォルトの名無しさん:04/11/30 21:43:08
MangledでCなんてありえない。Mangled C++だ。
といっても普通のC++スレじゃ相手にしてくれない罠。

managed C++ やろうぜ!!
http://pc5.2ch.net/test/read.cgi/tech/1014486422/l50
394デフォルトの名無しさん:04/11/30 21:47:53
ぶっちゃけmanagedC++やるぐらいならC#勉強しろと思うが
395デフォルトの名無しさん:04/11/30 22:04:57
というよりも、389はVS.NETを使って普通のCプログラミングがやりたいのでは。
VS.NETをもって無いので分からないけれど、コンパイルオプションから
/CLRを外せば、普通のC/C++を使えるようなことを聞いたが。
396デフォルトの名無しさん:04/11/30 22:05:36
managedC++の質問をCスレでするってのは、どういう神経?
「C」が付いてるからいいと思ってるのか。
んなら COBOL の質問もありか。
397デフォルトの名無しさん:04/11/30 22:06:31
398デフォルトの名無しさん:04/11/30 22:07:06
もの知らなくて質問するのはいいだろ。誘導してやればいい。
>>396 が COBOL の質問したらブッ飛ばすけどな。
399389:04/11/30 22:32:13
mananed C++のスレに行かせていただきます。
ありがとうございました。
400デフォルトの名無しさん:04/11/30 22:55:57
で、10種類は?
401デフォルトの名無しさん:04/12/01 00:17:35
くどい
402デフォルトの名無しさん:04/12/01 00:58:48
誤魔化すな。10種類は?
403デフォルトの名無しさん:04/12/01 00:59:52
オラ、出てこい! (晒しage
404デフォルトの名無しさん:04/12/01 01:09:54
10種類の人は週末に来るでしょ。せっかく平日は平和なんだから召還しないように。
405デフォルトの名無しさん:04/12/01 01:24:17
5種類のひともいたような。
406デフォルトの名無しさん:04/12/01 01:45:08
> 大昔の、コンパイラが馬鹿だった場合、a += 5 の方が効率よかった。

これ大うそ。
407デフォルトの名無しさん:04/12/01 01:46:42
ほら・・・
408デフォルトの名無しさん:04/12/01 01:47:06
こんばんわ
409デフォルトの名無しさん:04/12/01 02:28:46
ちょっと失礼。

gcc -oxxx xxx.cとすると
エラーで「xxx.c:55: two or more data types in declaration of `main'」
と出ます。これは何が原因でしょうか?
410デフォルトの名無しさん:04/12/01 02:35:27
main()の戻り型をチェック
411409:04/12/01 02:37:43
ああ、何とか解決しましたです。どうも。
412デフォルトの名無しさん:04/12/01 08:29:44
型しらべてどうする ぼけ
413デフォルトの名無しさん:04/12/01 08:40:09
きっと初歩的な質問で申し訳ないのですが、以下のプログラムの下から2行目
gets(y->name);
のところが、コンパイルしても実行されません。
どなたか分かる人、原因を教えて下さい。お願いします。
ちなみに、エラーメッセージは出ていません。コンパイラはLSI-Cです。

#include<stdio.h>
struct Student
{int sintyou;int taijuu;char name[20];}tanaka,ikeda;

void hyouzi(struct Student x);void nyuryoku(struct Student *y);

int main(void){
nyuryoku(&tanaka);
nyuryoku(&ikeda);
hyouzi(tanaka);
hyouzi(ikeda);
return 0;}

void hyouzi(struct Student x)
{printf("%d %d %s\n", x.sintyou , x.taijuu , x.name);}

void nyuryoku(struct Student *y)
{printf("身長を入力して下さい");
scanf("%d",& y->sintyou);
printf("体重を入力");
scanf("%d",& y->taijuu);
printf("名前を入力\n");
gets(y->name);
}
414デフォルトの名無しさん:04/12/01 09:12:52
getsとscanfを使わなければうまくいきます。
415デフォルトの名無しさん:04/12/01 09:14:24
>>413
scanf()とgets()を組み合わせた場合によく陥る罠。
どちらも仕様を推奨できる関数ではないので、前者はfgets()+sscanf()で、後者はfgets()で書くことをお勧めする。
それから、必要がないならLSI-Cではなく、32ビットのフリーのコンパイラを使用することを強くお勧めしておく。
416デフォルトの名無しさん:04/12/01 09:15:07
>>413
fgets()+sscanf()でもいいが、fgets()+atoi()でも充分用は足りるね。
417デフォルトの名無しさん:04/12/01 09:31:28
っていうか、
数値入力するのにfgetsでとるなよ
argvからとれ
418デフォルトの名無しさん:04/12/01 10:00:08
(・3・)エェー
419デフォルトの名無しさん:04/12/01 12:07:04
>>417
インタラクティブな処理を目指しているとしたら?
420デフォルトの名無しさん:04/12/01 12:27:45
例外処理とか入ってないし実用は考えてないだろ
構造体の勉強用のわざとらしいプログラムに思える。
421デフォルトの名無しさん:04/12/01 12:37:56
>>420
だったら尚のこと、コマンドライン仕様を考えるのも無駄な気がするが。
422デフォルトの名無しさん:04/12/01 14:49:36
K&R買ってしばらくたつんだけど。原著で読めないならば買わないほうがよかったかな?
もちろん原著では読めませんけど^^;
423デフォルトの名無しさん:04/12/01 14:50:57
getopt()じさく
424デフォルトの名無しさん:04/12/01 14:52:21
世界中で何千・何万もの再発明を(事実上)しなきゃいけないのがクラスライブラリの貧弱なCの悩ましいところ
425デフォルトの名無しさん:04/12/01 15:04:09
VisualC++6.0でダイアログのイベントハンドラ追加できないエラーに
はまってます。

ダイアログエディタでダブルクリックすると
「新規メンバを追加できません」←なメッセージボックスがでて
ハンドラ追加してくれません。

何が原因なんでしょう?
426424:04/12/01 15:06:52
突っ込まれる前に訂正しとこ
クラスライブラリ→標準ライブラリ
427デフォルトの名無しさん:04/12/01 15:10:21
>>425
プロジェクトを一度閉じて、.clwファイルを削除した後もう一度開いても現象が変わらないなら
VC専用スレへどうぞ。
#そのソースファイルが他で開かれてるって落ちはないよな。
428425:04/12/01 15:18:21
.clwを削除してもだめでした。
PC再起動したらいけました。
他でそのファイルを開いてたわけではないのですが・・・。
429デフォルトの名無しさん:04/12/01 15:31:19
>>422
そんなことはない。
ただのC言語の解説書だよ。
理解できたら後は捨ててもいいくらい。
430デフォルトの名無しさん:04/12/01 16:00:34
>>429 そうですか。安心しました。
レス、ありがとうございます。
431デフォルトの名無しさん:04/12/01 16:24:27
if(A) {
 if(B) {
  hoge();
 }
}



if(A && B) {
 hoge();
}

どちらも速度は変わりませんかね?
A,Bは条件式とする。
432デフォルトの名無しさん:04/12/01 16:25:30
そんなこと気にするぐらいだったら他所をいじれという程度の違いは出るかも
433デフォルトの名無しさん:04/12/01 16:47:02
>>431
最近のコンパイラなら最適化によって同じコードを吐きます。
コンパイル速度を問うているなら、余計なことは気にするな、と。
434デフォルトの名無しさん:04/12/01 20:16:43
で、まだ1種類も出ないのか?
435デフォルトの名無しさん:04/12/01 20:18:08
なにが?
436デフォルトの名無しさん:04/12/01 20:42:51
      ☆ チン     マチクタビレタ~
                        マチクタビレタ~
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < 10種類まだ~?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |  愛媛みかん  |/
437デフォルトの名無しさん:04/12/01 20:45:54
晒しage
438デフォルトの名無しさん:04/12/01 20:48:35
>>431
処理系による。翻訳環境と実行環境、いずれの特徴にも強く依存する。
少なくとも、その処理系での実測をせずに他の処理系での最適化についての議論を始める阿呆がいるようだが相手にしてはならない。
439デフォルトの名無しさん:04/12/01 20:52:28
vc, vc++.net, gcc for cygwin & Linux & XXX & YYY, bcc
shc, CodeWarrior for XXX & YYY & ZZZ, cc
440デフォルトの名無しさん:04/12/01 20:56:16
stdboolのある10種類だよ♪お馬鹿さん♪♪
441デフォルトの名無しさん:04/12/01 22:16:41
>>438
では、実測した結果を報告してください。
442デフォルトの名無しさん:04/12/01 22:21:13
>>441
実測が必要と示唆した者になぜ実作業を要求するのか、論理的に説明したまえ。
443デフォルトの名無しさん:04/12/01 22:22:18
厨国の故事による
444デフォルトの名無しさん:04/12/01 22:29:37
先ずは隗より始めよと
445デフォルトの名無しさん:04/12/01 22:30:28
実測するまでもなく同じコードを出力すると書いているのが見えないらしい。
446デフォルトの名無しさん:04/12/01 22:35:06
コードに違いがある可能性がないはと考えられない。
447デフォルトの名無しさん:04/12/01 22:52:51
>>445
>実測するまでもなく同じコードを出力する

脳が腐乱していてプログラムに関する議論ができないらしい。
448デフォルトの名無しさん:04/12/01 22:55:08
すいません。他すれで質問していたのですが、ここでも質問させてください。

365 名前:デフォルトの名無しさん 投稿日:04/12/01 22:01:17
すいません。スレ違いかもしれませんが教えてください。

windowsで動作するアプリを作成してみたい(勉強したい)のですが、
例えば、VBで作成するとだとランタイムが利用するマシンに必要になるとおもいます。
こういったランタイムなどの配布なしで動作するアプリを作るには
どのような技術を勉強すればよいのでしょうか??
449デフォルトの名無しさん:04/12/01 22:55:30
>>448
氏ね
450デフォルトの名無しさん:04/12/01 22:56:03
>>448
ランタイムも同梱する(わらい)
451デフォルトの名無しさん:04/12/01 22:56:29
>>448
Delphi, C++ Builder, Visual C++ とか使うといい。
ちなみに C++ Builder が一番お奨め。
452デフォルトの名無しさん:04/12/01 22:57:42
>>448
元スレでどんな誘導受けたのか知らんがここへ来た理由が不明 (最大限に誘導者を立てた表現)

それはここだろ
http://pc5.2ch.net/test/read.cgi/tech/1101393155/
453448:04/12/01 23:02:39
>>450 451
ありがとうございます。

>>452
誘導受けたわけではないのですが、”俺に聞け!”ってタイトルにつられて
ふらふらと。。。すいません。
454413:04/12/01 23:22:16
返事が遅くなってしまい、申し訳ありません。
414~417さん、アドバイスありがとうございました。
scanf()とgets()は組み合わせるとよろしくないということですね。
まだまだ初心者で理由が分かりませんが、おいおい勉強していきたいと思います。


455デフォルトの名無しさん:04/12/01 23:25:13
>>453
ちなみに、C でもランタイムはすぐつくよ。
printf みたいな標準関数を使わないんなら別だけど。
とにかくランタイムが嫌いでチキン肌がスタンダップするほどなら、
組み込み系かアセンブラのが C よか君の好みに近いんじゃないかな。
間違っても携帯アプリとかに近寄らないほうがいいよ。

ム板には機械語スレもあるけど、CISC だとやっぱりランタイムがいたりするから、
話すなら RISC 限定で切り出した方がいいな。
456デフォルトの名無しさん:04/12/01 23:28:18
VC++7以上を使ってmsvcr70に嵌れ(w
457デフォルトの名無しさん:04/12/01 23:29:41
>>455
わけワカメちゃん
458デフォルトの名無しさん:04/12/02 03:29:21
> K&R買ってしばらくたつんだけど。原著で読めないならば買わないほうがよかったかな?

もったいないのでわたしにください。
459デフォルトの名無しさん:04/12/02 03:30:19
>>424
> 世界中で何千・何万もの再発明をしなきゃいけないのがクラスライブラリの貧弱なCの悩ましいところ

Cに「クラス」があると思い込んでいるしったかぶり君。
460デフォルトの名無しさん:04/12/02 03:37:24
>>459
2レス下も辿れない池沼ちゃん
461デフォルトの名無しさん:04/12/02 07:28:26
初めての開発環境に、MicrosoftのものかGNUのもの以外を薦める奴の気がしれない。
ボーランド最悪。
462デフォルトの名無しさん:04/12/02 09:05:41
は? 逆だろ。VC最悪
463デフォルトの名無しさん:04/12/02 09:11:08
素人にGNU勧めてどうするんだ?
464デフォルトの名無しさん:04/12/02 09:45:43
463 名前:デフォルトの名無しさん :04/12/02 09:11:08
素人にGNU勧めてどうするんだ?
465デフォルトの名無しさん:04/12/02 09:55:51
小さいファイルから巨大なファイル(数G程度)を扱うコンソールアプリを作っています。
しかしながら、ファイルのサイズをバッファに読み込むことなく取得することができず困っています。
Windows、UNIXに依存したプログラムを書くことを想定してますが、どなたか助けていただけませんか?

Windows(NTFS)
2003 Server + VS .net 2003

UNIX
Solaris + gcc
466デフォルトの名無しさん:04/12/02 09:56:27
かなりの初心者なんですが、教えていただけたら有り難いです。

>整数型配列aに100から199までの数字を格納し、4けたの書式付10進数で出力
>せよ。また、書式なしの10進数で出力した結果と比較せよ(両方の結果を示す事)。
 for文を使うと良い。 for(i=100;i<200;i++);

書式付というのは、この場合%4dということで良いのですか?
467466:04/12/02 09:57:13
初心者なりに使えない脳で書いてみました。どこが違うのでしょうか。
#include <stdio.h>

main(){

int a = 0;
int i;

for(i=100;i<200;i++){
a = i - 1;
printf("%4d",a);
printf("%d",a);
}
}
468デフォルトの名無しさん:04/12/02 09:57:45
よい。
469デフォルトの名無しさん:04/12/02 09:58:35
>>467
わざとだろ?
470466:04/12/02 10:00:21
とおっしゃると?
コンパイラーが無いので、確認が取れないのですが、
友人に聞いたところ、違うと返答が来て・・・・・・。
471デフォルトの名無しさん:04/12/02 10:01:25
>>470
なんでわざわざ1を引くんだよ。

for(a=100;a<200;i++){
printf("%4d",a);
printf("%d",a);
}
472466:04/12/02 10:02:59
となると、、、、
#include <stdio.h>

main(){

int a;

for(a=100;a<200;a++){
printf("%4d",a);
printf("%d",a);
}
}
ということになるんでしょうか?
473デフォルトの名無しさん:04/12/02 10:03:43
おまえら改行いれろよ...
474デフォルトの名無しさん:04/12/02 10:08:44
正しくはこう
#include <stdio.h>

main()
{
  int i;

  for (i = 100; i < 200; i++) {
    printf("%4d\n", i);
    printf("%-4d\n", i);
    printf("%d\n",i);
  }
}
475デフォルトの名無しさん:04/12/02 10:18:25
問題には整数「配列」aとかかれているから、
int a;はダメ
int a[100];にする
476466:04/12/02 10:21:21
では、474,475さんの書き込みを二つを合わせると、

#include <stdio.h>

main()
{
  int i[100];

  for (i = 100; i < 200; i++) {
    printf("%4d\n", i);
    printf("%-4d\n", i);
    printf("%d\n",i);
  }
}
でOKなんですか?
あと、追加の質問で失礼なんですが、%-4dが示すものは何でしょうか。
477デフォルトの名無しさん:04/12/02 10:36:18
> 整数型配列aに100から199までの数字を格納し、4けたの書式付10進数で出力

こういう無意味な課題出すぼけの顔をみたいものだなあ。
何か「意味のあること」やれよ。
478デフォルトの名無しさん:04/12/02 10:36:48
> 整数型配列aに100から199までの数字を格納し、4けたの書式付10進数で出力

こういう無意味な課題出すぼけの顔をみたいものだなあ。
何か「意味のあること」やれよ。
479デフォルトの名無しさん:04/12/02 10:38:17
正しくはこう
#include <stdio.h>

main()
{
  int a[100];
  int i;

  for (i = 0; i < 100; i++) {
    a[i] = i + 100;
    printf("%4d", a[i]);
    printf("%d",a[i]);
  }
}
480デフォルトの名無しさん:04/12/02 10:39:22
だからかいぎょうしろって。

#include <stdio.h>

main()
{
  int a[100];
  int i;

  for (i = 0; i < 100; i++) {
    a[i] = i + 100;
    printf("%4d\n", a[i]);
    printf("%d\n",a[i]);
  }
}
481デフォルトの名無しさん:04/12/02 10:40:47
2つの出力を見比べるなら、このほうがいいのでは?
#include <stdio.h>

main()
{
  int a[100];
  int i;

  for (i = 0; i < 100; i++)
    a[i] = i + 100;
  for (i = 0; i < 100; i++)
    printf("|%4d|%d|\n", a[i], a[i]);
}
482デフォルトの名無しさん:04/12/02 10:41:49
2種類の意味のちがう「100」がまじるとわかりにくいので、
以下のようにしたほうがいいのでは?
#include <stdio.h>

#define N

main()
{
  int a[N];
  int i;

  for (i = 0; i < N; i++)
    a[i] = i + 100;
  for (i = 0; i < N; i++)
    printf("|%4d|%d|\n", a[i], a[i]);
}
483デフォルトの名無しさん:04/12/02 10:47:06
Lvの低い質問だと急に賑やかになるな。

>>482

>#define N
484デフォルトの名無しさん:04/12/02 10:49:17
題意を汲んだら、最初のループは
for (i = 100; i <= 199; ++i) {
a[i - 100] = i;
}
だと思うのだけどね。
#define START_NUMBER 100
#define END_NUMBER 199
int a[END_NUMBER - START_NUMBER + 1];
for (i = START_NUMBER; i <= END_NUMBER; ++i) {
a[i - START_NUMER] = i;
}
とすりゃ間違いないな。
485デフォルトの名無しさん:04/12/02 10:53:09
#include <stdio.h>
#include <stdlib.h>

#define N

int main(int argc, char **argv)
{
  int a[N];
  int i;

  for (i = 0; i < N; i++)
    a[i] = i + 100;
  for (i = 0; i < N; i++)
    printf("|%4d|%d|\n", a[i], a[i]);
  return EXIT_SUCCESS;
}
486デフォルトの名無しさん:04/12/02 10:54:19
> 題意を汲んだら、最初のループは

いや逆だろ
487デフォルトの名無しさん:04/12/02 10:55:10
値が抜けてるぞ!
たしかに、課題だったら丁寧なほうがいいよな。
以下ので正解では?

#include <stdio.h>
#include <stdlib.h>

#define N 100

int main(int argc, char **argv)
{
  int a[N];
  int i;

  for (i = 0; i < N; i++)
    a[i] = i + 100;
  for (i = 0; i < N; i++)
    printf("|%4d|%d|\n", a[i], a[i]);
  return EXIT_SUCCESS;
}
488デフォルトの名無しさん:04/12/02 13:23:57
>>465
long FileSize;
fseek(fp, 0, SEEK_END);
FileSize = ftell(fp);
489デフォルトの名無しさん:04/12/02 13:49:27
>>488
数GBと言うことだけど、2GB超えたら?
490デフォルトの名無しさん:04/12/02 14:52:35
>>489
処理系依存の方法で何とかしろ。
491デフォルトの名無しさん:04/12/02 15:02:37
Windows だったら GetFileSize() とか GetFileSizeEx() とか
GetFileAttributeEx() とか。

UNIX 系だったら、488 の方法で ftell() のかわりに ftello() とか、
stat() して st_size とか。
492デフォルトの名無しさん:04/12/02 15:03:50
>>465
statとか。余計な情報もとれるが。

493デフォルトの名無しさん:04/12/02 16:10:23
VCなら _filelength, _stat ってのもある
494デフォルトの名無しさん:04/12/02 16:19:58
で、10種類は?
495ゆかこ:04/12/02 16:56:39
今度C言語の課題が出たのですがどうも自分の力ではできません。
よろしければ助言をいただきたいと思います。よろしくお願いします。


レポート課題
以下のようなゲームを作りなさい。
コンピュータが 0から 9までの数を 4つ, 順序付きで重複なく選ぶとする. プレイヤ(人間)は, この数列を当てるのだが, はずれた場合に提示されるヒントは次の通り.

正解の n番目の数を n番目に解答していれば, Hit と呼ぶ. Hit の個数がヒントとして提示される.
正解の n番目の数を m番目(n≠m)に解答していれば, Blow と呼ぶ. Blow の個数がヒントとして提示される.

実行例
5 6 7 8
Hit: 0, Blow: 3
7 8 9 0
Hit: 1, Blow: 1
1 2 3 6
Hit: 1, Blow: 0
9 8 5 6
Hit: 3, Blow: 0
0 8 5 6
Congratulations!
496デフォルトの名無しさん:04/12/02 17:00:26
>>495
ぼるじょあがC/C++の宿題を片付けますYO! 35代目
http://pc5.2ch.net/test/read.cgi/tech/1101568895/l50
497ぼるじょあ ◆yBEncckFOU :04/12/02 17:02:18
エェー あっちのスレで待っているYO!
498デフォルトの名無しさん:04/12/02 17:06:23
ぼるじょあさん全然答えてないYO↓
499デフォルトの名無しさん:04/12/02 17:16:37
>>488
これ使え

unsigned int filesizeget(unsigned int *GByte, FILE *fin)
{
unt Byte;
int ch;

if(GByte == NULL){
/*ファイルのサイズが1GBに満たない約束できる場合*/
for(;;){
for(Byte=0;Byte<0x40000000;Byte++){
if((ch=fgetc(fin)) == EOF){
return Byte;
}
}
}
}else{
*GByte = 0;
for(;;){
for(Byte=0;Byte<0x40000000;Byte++){
if((ch=fgetc(fin)) == EOF){
return Byte;
}
}
(*(GByte))++;
}
}
}
500デフォルトの名無しさん:04/12/02 18:04:57
>>499
>488内のアンカーにある>465を読むことを思いつけませんでしたか?
501デフォルトの名無しさん:04/12/02 18:10:54
typedef struct _node {
char name[32];
char phone[16];
struct _node *next;
}Node;
Node *InsertNode(Node*,Node*);
void main(void)
{
Node *p=NULL,q;
while(1){
printf("名前:"); scanf("%s",q.name);
if(strcmp(q.name,"end")==0) break;
printf("電話番号:"); scanf("%s",q.phone);
p=InsertNode(p,CreateNode(&q));
  }
  return;
}
これと同じことを以下のdatファイルからfscanfを用いて読み込むにはどうすればいいのでしょうか?
けいさつ     110
しょうぼう     119 
じほう       117
てんき      116  

FILE *fp;
fp=fopen("data.dat","r");
while(1){
  fscanf(fp,"%s",%s",q.name,q.phone);
p=InsertNode(p,CreateNode(&q));
}
では出来ませんでしたぁ~
  
502デフォルトの名無しさん:04/12/02 18:14:06
不思議なとこにダブルクォーテーション入れますね君
503デフォルトの名無しさん:04/12/02 18:19:44
#include "resource.h"
これがあるときどう実行するんですか
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/memo01.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
504デフォルトの名無しさん:04/12/02 18:21:26
学校の先生に聞いてください。暗号文から解答を導くのが彼らの仕事です。
505デフォルトの名無しさん:04/12/02 18:23:02
>>501
いつから天気予報は116になったんでしょうか
506デフォルトの名無しさん:04/12/02 18:25:17
>>505
NTTが天気予報も始めたんですよ。ご存知ありませんか
507デフォルトの名無しさん:04/12/02 18:27:33
なんか面白いスレだな~
508デフォルトの名無しさん:04/12/02 18:31:55
不真面目なインターネッツですね
509デフォルトの名無しさん:04/12/02 18:38:52
117 ぴっぴと鳴る
177 天気になれなれ
510デフォルトの名無しさん:04/12/02 18:54:16
>>503
Windowsプログラムを作るオプションを書き足せ。
#include "resource.h"じゃなくてWinMainが原因だろ。
511デフォルトの名無しさん:04/12/02 19:54:58
時間割を作成するプログラムってどんな感じで作ればいいですか?
空いているスケジュールを探して埋めていくと言う感じで
512デフォルトの名無しさん:04/12/02 19:55:02
うぉ・・・何やってるんだ自分は
>>495のやつをちょっと作ってみようと思って作り始めたらこんなにたってるし
作るべきプログラムそっちのけでorz
513デフォルトの名無しさん:04/12/02 20:00:07
>>511
スケジュールが重複した場合はどうするの?
514デフォルトの名無しさん:04/12/02 20:00:46
>>511
ビル・ゲイツにメールで聞け
515デフォルトの名無しさん:04/12/02 20:20:06
>>514
スパム判断されてしまいます
516466:04/12/02 21:58:47
皆さん、議論していただきありがとうございます。
あれから、色々考えてみて、動くソースを考えてみました。

#include<stdio.h>

main(){

int a [100] = {100} ;
int i;

for(i=100;i<200;i++){
a[i] = i ;
printf("書式なし:a[%d]%d\n",i,a[i]);
printf("書式あり:a[%d]%4d\n",i,a[i]);
}
}

こんなんじゃ駄目なんですかねぇ。
487さんの様に色々混ぜて使えると良いのですが、私にはまだ無理っぽいです。
517デフォルトの名無しさん:04/12/02 22:02:46
>>516
思いっきりメモリ破壊してる
518デフォルトの名無しさん:04/12/02 22:03:35
>>516
int a[100];って宣言したのにa[i]、つまりa[100]~a[199]に書き込もうとしている。
519デフォルトの名無しさん:04/12/02 22:05:16
本当に動いてる?
for (i = 100; i < 200; i++)
が必須だとしたら、
a[i-100] = i;
でないといけません(もしくはa[200]と宣言するw)。
520466:04/12/02 22:11:03
実行してみたんですが、普通に動いてます。
a[100] に100を格納していて、for文からのiはi++によって
a[101] = 101 ~ a[199] = 199 まで格納されるように考えたんですが・・・・・・。

って、a[100]からって意味不明ですね・・・・。
でも動くのは何故・・・・・?
521デフォルトの名無しさん:04/12/02 22:11:48
破壊された領域を他の用途に使ってないからです。
再現性の低いバグに悩まされます。
522デフォルトの名無しさん:04/12/02 22:17:56
C言語なら俺に聞け! Part 95
http://pc5.2ch.net/test/read.cgi/tech/1100951565/
先にこのスレ使わないのか?
523デフォルトの名無しさん:04/12/02 22:21:49
>>511
科目(?)のデータのほうがどうなってるのかわからんしなー。
524デフォルトの名無しさん:04/12/02 22:21:53
>>520=466
#include <stdio.h>

int main()
{
    int a[100], b[100], c[100];
    int i;

    for(i = 0; i < 100; i++)
        a[i] = 1, c[i] = 3; /* aはすべて1, cはすべて3にする */
    for(i = 100; i < 200; i++)
        b[i] = 2;
    for(i = 0; i < 100; i++)
        printf("a[%d] = %d, c[%d] = %d\n", i, a[i], i, c[i]); /* aかcの値が... */
    return 0;
}
525デフォルトの名無しさん:04/12/02 22:22:21
ウジウジいつまでも残ってるのもあれだからサクっと使ってしまいたいが
電波でも来ない限りそうそう埋まるもんじゃないからなぁ
526デフォルトの名無しさん:04/12/02 23:30:49
C言語で質問なのですが、少しわからない事があります。
背番号,打数,安打数を多数入力し、打率の最高の選手のみ
背番号,打数,安打数とともに打率を出力する(同一打率の選手はない)
プログラムです。ストッパは背番号=-999,打数=安打数=0
ここまでは出来ました。しかしコンパイルがうまくいきません・・・。
指摘下さいますと助かります。
#include <stdio.h>
int main(void)
{
int num,num1,dasuu,dasuu1,anda,anda1;
double daritu,daritu1;
daritu=0;
daritu1=0;
do{
printf("背番号を入力せよ\n");
scanf("%d",&num);
printf("打数を入力せよ\n");
scanf("%d",&dasuu);
printf("安打数を入力せよ\n");
scanf("%d",&anda);
daritu=anda/dasuu;
if (daritu1<daritu)
{
num1=num;
dasuu1=dasuu;
anda1=anda;
    daritu1=daritu;
}
}while(num!=-999 && dasuu!=0 && anda!=0);
printf("%d %d %d %.3f",num1,dasuu1,anda1,daritu1);
return(0);
}
527デフォルトの名無しさん:04/12/03 00:05:09
宿題はこっち
ぼるじょあがC/C++の宿題を片付けますYO! 35代目
http://pc5.2ch.net/test/read.cgi/tech/1101568895/
528デフォルトの名無しさん:04/12/03 00:16:00
>>528
失礼しました
529デフォルトの名無しさん:04/12/03 00:17:56
>>529
失礼しました
530デフォルトの名無しさん:04/12/03 01:03:37
>>530
失礼しました
531デフォルトの名無しさん:04/12/03 01:14:39
>>531
失礼しました
532デフォルトの名無しさん:04/12/03 01:15:44
>>999
失礼しますた
533デフォルトの名無しさん:04/12/03 03:52:21
> 先にこのスレ使わないのか?

あれはにせものだから削除だろ。
534デフォルトの名無しさん:04/12/03 04:29:36
で、10種類は?
535デフォルトの名無しさん:04/12/03 08:26:38
> ひとつのオブジェクトを2つに分裂させるコードを書きたいのですが、
fork() して exec()
536デフォルトの名無しさん:04/12/03 08:58:09
で、10種類は?
537デフォルトの名無しさん:04/12/03 10:07:21
ほんとにVC厨っているんだー
538デフォルトの名無しさん:04/12/03 10:39:14
本に書いてある通りに打ったのですが、
#define iskanji(c) \
(0x81 <= (c & 0xff) && (c & 0xff) <= 0x9f || \
0xe0 <= (c & 0xff) && (c & 0xff) <= 0xfc)
この行でエラーになるんです。
なぜでしょう?
539デフォルトの名無しさん:04/12/03 10:41:38
>>538
コンパイラはなんと告げてますか?
540デフォルトの名無しさん:04/12/03 11:00:37
覚えてないけど、エラーが出るんです。
いま手元にないんで試せないけど...。
541デフォルトの名無しさん:04/12/03 12:09:26
char型の変数の使いかたがいまいちわかりません。。。
教えてください。

(例)char型の変数bufに"あいう"を代入する。

char buf[7] = "";
char buf2[3] = "い";
buf = "あ" + buf2 + "う";
ポインタにポインタを加えられないということで
これは無理ですよね。

strcpy(buf, "あ");
strcat(buf, buf2);
strcat(buf, "う");
こうすれば buf に"あいう"が入りますよね。

他に簡単というか適切な方法はないのでしょうか?
542デフォルトの名無しさん:04/12/03 12:20:10
> (例)char型の変数bufに"あいう"を代入する。

char型にひらがなは入りません。
asciiの文字コード表を見ること
543デフォルトの名無しさん:04/12/03 12:35:09
>>541
sprintf( buf, "%s%s%s", "あ", buf2, "う" );
544デフォルトの名無しさん:04/12/03 12:53:20
>>543
領域破壊。
545541:04/12/03 13:10:26
>>542
はい、確認してみます。

>>543
sprintfでできました。ありがとうございました。

>>544
sprintfでやると領域が破壊されてしまうのでしょうか?
546デフォルトの名無しさん:04/12/03 13:19:36
>>545
bufのサイズより書き込む文字数が多いと領域破壊となる。
547デフォルトの名無しさん:04/12/03 13:32:19
>sprintfでやると領域が破壊されてしまうのでしょうか?

出力文字数がバッファより多いときはな。
なので代わりに最大文字数を指定できるsnprintf使うとか
sprintf(buf, "%.6s", "あいうえ"); として精度を指定したら確実
548541:04/12/03 14:00:39
>>546
>>547
すごくわかりやすかったです。
説明ありがとうございました。
もう少し本を読んで勉強してみます。
549デフォルトの名無しさん:04/12/03 14:50:58
printfのプロトタイプ宣言で↓な感じでした。

printf( const char *, ... );

"..."はどういう意味ですか?
550デフォルトの名無しさん:04/12/03 14:58:45
可変引数
551デフォルトの名無しさん:04/12/03 15:49:52
このスレ、面白くもなんともないな。
552デフォルトの名無しさん:04/12/03 15:55:55
>>551
楽しくしてやるよ。

Windowsクライアントからソケットストリームで送られてくる
ASCIIコードデータをホスト用にEBCDICへ変換する汎用ルーチンを作成せよ。
なおバイトオーダーはスモールエンディアンとする。
553552:04/12/03 15:58:09
開発環境はUNIX-Cな。
暇なんだろ。さっさと作れ。
554549:04/12/03 16:13:23
>>550

可変引数で検索したら出てきました。
有り難うございました。

ところで受け取った可変引数のパラメータをそのまま別の関数に渡す事は出来ないのでしょうか?
やりたいことは、あるマイコンのファームウェアなんですが、
printfする前に必ずあるレジスタの書き換えが必要です。
それを myprintfを作成してprintfの置き換えとして使用したいと思っています。

myprintf( 可変引数 )
{
レジスタの設定
printf( myprintfが受け取った可変引数をそのまま渡す )
レジスタの設定を元に戻す
}

ttp://www.geocities.jp/ky_webid/c/057ans.html の問題2の様にしても
良いのですが1文字毎にprintfを呼び出しているのでちょっと・・・
どなたかお知恵を貸してください。
555デフォルトの名無しさん:04/12/03 16:17:11
>>554
vprintf
556デフォルトの名無しさん:04/12/03 16:19:54
>>553
>>551は時間を自由に使う権利を持っている。
なんで命令してるんだろう。
557デフォルトの名無しさん:04/12/03 16:24:09
>>556
変な人とつきあったらだめですよー にゃんにゃん
558デフォルトの名無しさん:04/12/03 16:40:21
#include <stdio.h>
#include <process.h>

int main()
{
FILE *fp;
char str[5];
fp=fopen("test.exe","r");
if (fp == NULL){
printf("eror");
exit(-1);
}
while (fscanf(fp,"%s",str) != EOF)
printf(str);
fclose(fp);
exit(-1);
//return -1;
}

としてexeファイルを読み込んで表示させるとMZPとなるのですが、なぜ全文を表示できないのでしょうか?
テキストとかなら読み込めるのですが。
559デフォルトの名無しさん:04/12/03 16:51:48
バイナリだろ
560デフォルトの名無しさん:04/12/03 16:53:53
fscanfがそういう仕様になってるだけ
561デフォルトの名無しさん:04/12/03 17:09:16
質問です
ある計算を複数回行いたいのですがそれを繰り返し回数
ではなく、実行時間で決めたいのですがどのように
すればよいのでしょうか?イメージとしては
n=繰り返し回数
for(i=1;i<=n;i++){
ある計算
}
をn=1分間という感じなのですが・・・よろしくお願いします
562デフォルトの名無しさん:04/12/03 17:14:19
cat -n使っての、行番付サーバですが、
telnetで接続して、データおくっても、反応なしです。。
どこかで詰まってます。
おかしなところあったら教えてください。

fork()2回してます。
一回目は並行サーバのため、1回目はcat -nをexecuteするためです。
pipe2個つかって通信してます。

563サーバ部:04/12/03 17:14:54
while (1) {
if (pipe(pipe1)<0)perror("pipe");
if (pipe(pipe2)<0)perror("pipe");

cfd=accept(lfd,(struct sockaddr*)NULL,NULL);
printf("accept OK.\n");
if ((pid=fork()) < 0) {
perror("fork");exit(1);}
if (pid == 0) { /* cat -n */
close(lfd);close(cfd);
printf("I'm cat -n\n");
if (dup2(pipe1[0],STDIN_FILENO)<0)perror("dup2");
close(pipe1[0]);close(pipe1[1]);
if (dup2(pipe2[1],STDOUT_FILENO)<0)perror("dup2");
close(pipe2[1]);close(pipe2[0]);
execlp("cat","cat","-n",(char*)NULL);
perror("cat");
exit(1);
}
if ((pid2=fork()) < 0) {
perror("fork2");exit(1);}
if (pid2 == 0) { /* client processor */
close(lfd);
564デフォルトの名無しさん:04/12/03 17:16:00
>>561
time_t StartTime = time(NULL);
while (difftime(StartTime, time(NULL)) < 60)
565サーバ部2:04/12/03 17:16:41
printf("I'm client processor\n");
close(pipe1[0]);close(pipe2[1]);
nbytes=read(cfd,buf,sizeof(buf));
write(pipe1[1],buf,nbytes);
nbytes=read(pipe2[0],buf,sizeof(buf));
write(cfd,buf,nbytes);
while ((nbytes=read(cfd,buf,sizeof(buf))) > 0)
write(pipe1[1],buf,nbytes);
while ((nbytes=read(pipe2[0],buf,sizeof(buf))) > 0)
write(cfd,buf,nbytes);
exit(0);
}
close(cfd);close(pipe1[0]);close(pipe1[1]);close(pipe2[0]);close(pipe2[1]);
printf("I'm parent\n");
for (i=0; i<2; i++) {
while ((wr=wait(&status)) != pid && wr != pid2)
; /* do nothing */
printf("wait: status=%d\n",status);
}
}
566訂正:04/12/03 17:19:35
サーバ部2の

nbytes=read(cfd,buf,sizeof(buf));
write(pipe1[1],buf,nbytes);
nbytes=read(pipe2[0],buf,sizeof(buf));
write(cfd,buf,nbytes);

は余分なのでcutです。
567openGL初心者:04/12/03 17:25:28
openGLを使ったプログラム作成を助けてください。Visual Cプログラムの関数void 図形(void)の部分なのですが、問題は以下の通りです。
「表面の座標(x,y,z)が下の左式、その点における法線nが下の右式で表される立体を描け。
ここで、θおよびφはそれぞれ0<=θ<=2πおよび-π/2<=φ<=π/2の範囲をとる媒介変数であって、定数hは0<=θ<πにおいて0.3、π<=θ<=2πにおいて2とする。
なお、法線ベクトルnは正規化されてないことに注意せよ。」という問題です。また描画要素としてGL_QUADS_STRIP(隣接四辺形)を使うことが条件です。
どなたか教えてくださいお願いします。尚、初心者なのでコードの説明をしていただけると幸いです。
568デフォルトの名無しさん:04/12/03 17:27:00
>>567
> ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
569デフォルトの名無しさん:04/12/03 17:27:19
570デフォルトの名無しさん:04/12/03 17:36:57
あ~ マルチしちゃったよ~ だめだな、こりゃ。
571デフォルトの名無しさん:04/12/03 17:40:34
可変長引数の関数が受け取った引数を、別の可変長引数関数に全部渡すのって、どうやるんでしょう。
572デフォルトの名無しさん:04/12/03 17:41:31
>>564
ありがとうございました。さっそくやってみたところ
実行が終わりませんでした。
教えてくださったことを参考に調べてみて書き変えて
みたのですが
time_t StartTime = time(NULL);
(difftime(time(NULL) , StartTime) < 60)
ではないでしょうか?こっちでやってみたところ
うまくいった感じです。どうもありがとうございました。
573デフォルトの名無しさん:04/12/03 17:53:25
>>571
無理、可変個引数をとる関数を作るときはva_listを受け取るバージョンも作っておけ。
お前が554なら>>555に答えは出ている。
574デフォルトの名無しさん:04/12/03 18:28:07
スレ違いかもしれませんが
Telnetを引数なしで起動したときのように
ユーザーに入力させてそれを解析して実行する
というUIって何か名前あるんですか?
575デフォルトの名無しさん:04/12/03 18:30:23
対話型インターフェイス
576デフォルトの名無しさん:04/12/03 18:38:36
>>575
ありがとん
577デフォルトの名無しさん:04/12/03 22:27:42
>>559
>>560
#include <stdio.h>
#include <process.h>

int main()
{
FILE *fp;
char str[500];
fp=fopen("test.txt","rb+");
if (fp == NULL){
printf("eror");
exit(-1);
}
while (fgets(str,256,fp) != NULL)
printf("%s\n",str);
fclose(fp);
exit(-1);
//return -1;
}

なおしてみますた。
こうすると12fd98がずらっと表示されるのですが、なぜでしょう?
578デフォルトの名無しさん:04/12/03 22:32:02
スルーする?
579デフォルトの名無しさん:04/12/03 22:36:00
┌───────────────────┐
|致命的なエラー                [×]|
├───────────────────┤
|質問者は致命的なエラーを抱えています。  .|
|                             |
|スルーしますか?                  |
|     [ はい(Y) ] [ いいえ(N) ]        |
└───────────────────┘
580デフォルトの名無しさん:04/12/03 22:36:55
>>577
fgetsの代わりにfreadを使ってみたら?
581デフォルトの名無しさん:04/12/03 22:50:19
ネタだろ
582デフォルトの名無しさん:04/12/03 22:53:28
12fd98がずらっと表示されるのってなんでえTT
583デフォルトの名無しさん:04/12/03 22:56:51
              _,.. ----- 、_
            ,. ‐''´         `丶、
         , '"    _,. -―‐--、ヽ   ヽ、
        / /  ,. '´   ,. ---`,r=、   ヽ
       ,:' /  //  /    i `丶、     ヽ
        / /  / , '  /    / l!    、ヽ     ',
     / /  / /  ,イ       / /||  ', ヽヽ     !
     ! i l  i /  //    /, ' l '、 ',  ヽ',    |
      ! | ! l| ! //  ,ィ´∠∠',,,,,,,_', ヽ ヽ   ',!   |
      ! l !''7|!',´i`!/'//'´_,,......._ ヾ`ヽヽ  l!|   !
      | ', !ノ''ラ∀、、  '´  ,r'''ラ""''ヽヽ、 ヾ、 リ / |
     ', ヽ{i {_)::::::i       !_)::::::::!ヽヽ }__//   !
      ', !ヾ、 !:::::::::}         |::::::::::::} ノ、 !',  ヽ   !
       ', | | ! ゝ--'        ゝ---'、  ノ l ノ ノ /
        ',', ',',                // ,ィ´ /         
        ',', ',丶、   r--、        /'  ̄/  {
         ',ヽ',  `丶、 ` ´  _,.. ィ´'´ i   !   ヽ
         ノ ヽ   | }`T;ーr '´ //  /!  ',   '
   ┌/)/)/)/)/)/)/)/)/)/)l . . .l l:. l-、 . i. .i
    |(/(/(/(/(/(/(/(/(/(/│. . | i:. l  \ .:i
   r'´ ̄ヽ.              | | |  .| i: .l   \
  /  ̄`ア  >>582       | | | /| i: .l     入
  〉  ̄二). あなたは     | | |./ .| i: |   
  〈!   ,. -'. だあれ?     | | ヽ,r| i. l---', '´    ',
  | \| |   
584デフォルトの名無しさん:04/12/03 22:56:59
>>582
%s→%p
585デフォルトの名無しさん:04/12/03 23:05:23
[PR] 2chカレンダー2005仮予約受付中 [PR]
http://chbox.com/goods/
586デフォルトの名無しさん:04/12/03 23:20:38
>>584
こんどは0012FD98が表示されました!
どうしましょう?
中身はexeのバイナリーなんですけど、同じ文字が表示されるの変じゃないですか?
587デフォルトの名無しさん:04/12/03 23:24:52
>>586
>>580を嫁
588デフォルトの名無しさん:04/12/03 23:34:01
#include <stdio.h>

int main()
{
  FILE *fp = fopen("rebuild.exe", "rb");
  char str[512];
  if (fp == NULL)
  {
    printf("error");
    return 1;
  }
  while (fgets(str, 512, fp) != NULL)
    printf(str);
  fclose(fp);
  return 0;
}
589デフォルトの名無しさん:04/12/03 23:36:56
>>588
printfじゃなくてfputsだろ。
590571:04/12/04 00:26:25
>573
そうか。ありがとう。C言語の範囲じゃできないわけだね。
va_listを引数にする関数を作りたいところなんだが、他人の作った関数を呼び出す必要が
あるので、別の方法を考えてみるよ。(引数のパターンをある程度制限するとか、アセンブラ
に挑戦してみるとか)
591デフォルトの名無しさん:04/12/04 01:16:20
移植性や仕様として許されるかは別として、
ただ単に可変引数をそのまま渡すのなら、
例えば
int型の変数a1,a2,a3,....a30を用意し、
それぞれにva_arg(int, an)で引数をコピーし、
original_printf(format, a1,a2,a3,...,a30);
で呼び出すという手も
一応無くはないよ。
592デフォルトの名無しさん:04/12/04 01:21:15
指定されたバイトに書き込むときってどうやるんですか?
593デフォルトの名無しさん:04/12/04 01:22:58
>>592
そのバイトは誰だ?書き込むとは誰が何処に何を?時給は?
594591:04/12/04 01:24:13
って、今思ったけど
でかい構造体を引数扱いにすればいいな。
struct arg { char data[256]; };
struct arg *args;
va_start(ap, fmt);
args = &va_arg(ap, struct arg);
org_func(fmt, *args);

構造体のサイズ分のコピーは起こるし
移植性の問題は全然解決しないけど。
595571:04/12/04 01:32:50
>594
おお。これ面白いアイデアですね。
関数に渡したいデータはもともと別のデータ領域に入っているので、この方法は
使えそうです。
関数のパラメータのアラインを調べてみます。
596デフォルトの名無しさん:04/12/04 03:34:47
そこまでして可変引数を使いたがる理由がわからん
597デフォルトの名無しさん:04/12/04 05:51:28
引数がスタックに入ってることを理解してれば
可変だろうが簡単なのに
598デフォルトの名無しさん:04/12/04 06:34:10
あたりまえのことを何偉そうに書き込むんだろうね。
スタックに入ってるものを、どうやってそのまま全部別の関数に渡すかって話なのに。
599デフォルトの名無しさん:04/12/04 10:17:28
600デフォルトの名無しさん:04/12/04 12:37:02
v([s,f])printfみたいのは用意されてないのか...
601デフォルトの名無しさん:04/12/04 13:28:51
プログラムで疲れたろ

    /||ミ 
   / ::::|| __
 /:::::::::::|||W.C|
 |:::::::::::::::|| ̄ ̄||
 |:::::::::::::::||  ガチャッ 
 |:::::::::::::::||   ||
 |:::::::::::::::||∧_∧
 |:::::::::::::::||´・ω・`)  お茶が入りましたよ・・・。
 |:::::::::::::::|| o o旦~      
 |:::::::::::::::||―u' ||       
 \:::::::::::||
   \ ::::||
    \||彡
602デフォルトの名無しさん:04/12/04 13:35:40
便所の水で煎れたお茶・・・
603デフォルトの名無しさん:04/12/04 13:42:53
飲尿
604デフォルトの名無しさん:04/12/04 14:15:18
> 引数がスタックに入ってることを理解してれば

引数がスタック上に置かれる保証などどこにもない。
むしろそうでない環境のほうがいまどき多い。
605デフォルトの名無しさん:04/12/04 14:22:19
VCはスタックにおくだろ。
ここはVC厨ばかりだから、それでいいんだよ!
606デフォルトの名無しさん:04/12/04 14:27:13
607デフォルトの名無しさん:04/12/04 14:28:12
> X-Windowsがうごきません

そんなものはこの世に存在しません。
608デフォルトの名無しさん:04/12/04 14:34:58
まあ、可変引数に限れば
ほぼ間違いなく、スタックにあると考えていいけどな。
609デフォルトの名無しさん:04/12/04 14:46:06
決勝進出 日下部 陽一 沖縄

>>607
X-Window
610デフォルトの名無しさん:04/12/04 15:15:19
>>602は2ch初心者

玄人なら黄金茶と分かるはず
611デフォルトの名無しさん:04/12/04 15:44:05
ニラ茶だろ
612デフォルトの名無しさん:04/12/04 16:29:44
あんなところにお湯があることがおかしい!!
613デフォルトの名無しさん:04/12/04 18:17:53
> X-Window

そんなものも存在しません。
614デフォルトの名無しさん:04/12/04 18:18:19
X-Widow
615デフォルトの名無しさん:04/12/04 18:21:07
> まあ、可変引数に限れば
> ほぼ間違いなく、スタックにあると考えていいけどな。

いいえ。たとえばVAXはあきらかにちがう。
616デフォルトの名無しさん:04/12/04 18:21:14
617デフォルトの名無しさん:04/12/04 18:24:40
> X-Widow

うちのとなりのアパートに1人存在します。
618デフォルトの名無しさん:04/12/04 18:28:36
>617
まだ若いのか?
619デフォルトの名無しさん:04/12/04 18:29:55
>>618
甘いな。
X(ex)-widowとは元未亡人、再婚した人妻のことだぞ
620デフォルトの名無しさん:04/12/04 18:40:32
>>619
で、まだ若いのか?
621デフォルトの名無しさん:04/12/04 19:11:18
おかまいなしかよ。
622デフォルトの名無しさん:04/12/04 19:23:52
つーか未亡人より人妻の方が萌えるだろ?ふつう
623デフォルトの名無しさん:04/12/04 19:26:40
ふつうって何だよ
624デフォルトの名無しさん:04/12/04 19:26:52
ここは不倫なスレですね
625デフォルトの名無しさん:04/12/04 19:31:14
「widow pointer検出」ってのが、
いま使ってる開発ツールにあるんだけど、
まちがって読んで「windows pointerって何?」とかいってるぼけがいました。
626デフォルトの名無しさん:04/12/04 19:32:03
>>623
分からないお前はぼけ。
627デフォルトの名無しさん:04/12/04 19:33:27
>>625
メモリリーク検出ツールみたいなもん?
628デフォルトの名無しさん:04/12/04 19:36:24
どこもさしていないポインターを動的にみつけるんです。
629デフォルトの名無しさん:04/12/04 19:37:58
ポインタの参照先がdeleteされてるとかそんなのか。
630デフォルトの名無しさん:04/12/04 19:39:34
Cなのでdeleteはありません。
631デフォルトの名無しさん:04/12/04 19:43:11
freeか。
632デフォルトの名無しさん:04/12/04 20:03:53
> NULLを勝手に#defineし直してるソースもよく見るから、そういうソースが軒並み通らなくなっちゃう

そんなソースを通すことのほうが問題だ。
633デフォルトの名無しさん:04/12/04 20:04:57
NULLは
stdio.hに入っているべきでしょうか?
stdlib.hに入っているべきでしょうか?
634デフォルトの名無しさん:04/12/04 20:05:52
argv って、どうして
const char **argv; じゃなくて
char **argv; なんでしょうか?
635デフォルトの名無しさん:04/12/04 20:15:36
>>538
行末のバックスラッシュの後ろに空白があったりしないか?
636デフォルトの名無しさん:04/12/04 20:16:29
>>550
> 可変引数

そんなものはない。「個数」が可変なだけ。
637デフォルトの名無しさん:04/12/04 20:18:08
> ASCIIコードデータをホスト用にEBCDICへ変換する汎用ルーチンを作成せよ。
> なおバイトオーダーはスモールエンディアンとする。

こいつぼけ
そんなものはない > スモールエンディアン
big-endianの反対語もしらんのか?

そんなものはない > ASCIIコード
ASCIIのCは何の略かもしらんのか? ぼけ
638デフォルトの名無しさん:04/12/04 20:18:33
>>635を見て思ったんだけど、改行コードがCR+LFだったらマクロ継続が失敗したりしないの?
(\CR)<-これは欠落 LF<-これは残って、通常の改行として処理、とか
639デフォルトの名無しさん:04/12/04 20:19:19
>>635
それは先輩にも言われたのですが、
空白は入っていませんでした。
640デフォルトの名無しさん:04/12/04 20:24:10
>>638
OSがWindowsならスルー
UNIXならエラーになる
641デフォルトの名無しさん:04/12/04 20:24:50
OSはCygwinとかいうやつです
642デフォルトの名無しさん:04/12/04 20:25:30
>>634
const char **argv;
ってどういう意味かわかる?
643デフォルトの名無しさん:04/12/04 20:28:04
#define iskanji(c) \
((0x81 <= (c & 0xff) && (c & 0xff) <= 0x9f) || \
(0xe0 <= (c & 0xff) && (c & 0xff) <= 0xfc))
644デフォルトの名無しさん:04/12/04 20:30:01
unsigned char c;
char c;
どっちで宣言してるかによる。
645デフォルトの名無しさん:04/12/04 20:37:36
>>634
仕様だろ
646デフォルトの名無しさん:04/12/04 20:40:18
*argv++ で順番に参照するため
647デフォルトの名無しさん:04/12/04 20:41:15
>>645
だからなんで仕様がそうなってるのか聞いてるんだろ。
OSはCygwinとかいうやつです
649デフォルトの名無しさん:04/12/04 20:57:36
相変わらず低脳age厨が住み着いてるな
650デフォルトの名無しさん:04/12/04 20:58:31
>>646
こいつ ぼけ
char * const * a;
a++; //ok
(*a)++; //error
(**a)++; //ok
651デフォルトの名無しさん:04/12/04 21:00:26
argvは変更可能だと仕様で決められているよ。
652デフォルトの名無しさん:04/12/04 21:01:23
argv[0][0]='a';などとやってもよいということ。
653デフォルトの名無しさん:04/12/04 21:04:42
>>652
ほほう。そしたら
argv[100][100]='a'; とやっても大丈夫なのか。
654デフォルトの名無しさん:04/12/04 21:05:37
低脳sage厨登場
655デフォルトの名無しさん:04/12/04 21:10:27
>>653
656デフォルトの名無しさん:04/12/04 21:10:31
>>653
メモリ確保がなされているのであれば問題ないのでは?
657デフォルトの名無しさん:04/12/04 21:11:36
>>656
メモリ確保って何?馬鹿で低脳な僕にもわかるように説明してちょ。
658656:04/12/04 21:15:27
>>657
ごめんなさい。私も低脳なのでわかりません。
659デフォルトの名無しさん:04/12/04 21:16:12
>>658
元はと言えば>>652みたいな低脳が突然湧くからだ。君には責任はない。
660デフォルトの名無しさん:04/12/04 21:23:23
C++なんですが、なにかを0.5乗とか0.25乗の計算をする場合はどうすればいいのでしょうか?
661デフォルトの名無しさん:04/12/04 21:23:50
pow
662デフォルトの名無しさん:04/12/04 21:30:03
ありがとうございます
663デフォルトの名無しさん:04/12/04 21:57:41
なんか途中(>>623あたり)から文字が太くなってるんですけど、
みなさんはどうですか?
664デフォルトの名無しさん:04/12/04 21:58:38
スレ再取得汁
665デフォルトの名無しさん:04/12/04 22:09:18
ブラウザの不具合でしょ。
666ダミアソ:04/12/04 22:29:13
 
667デフォルトの名無しさん:04/12/04 23:57:05
で、10種類は?まだ一種類もあがってないぞ?
668デフォルトの名無しさん:04/12/04 23:58:57
しつこい男は嫌いです。
669デフォルトの名無しさん:04/12/04 23:59:40
ねちっこいセックスをする男の人は好きです。
670デフォルトの名無しさん:04/12/05 01:16:47
>>667
何の話?
671デフォルトの名無しさん:04/12/05 01:22:18
>>670
10種類は? 早く言え。 お前は口を割るしかない。 これが何だかわかるか? 丁字油だ。 ドイツ軍が安価な鎮痛剤として使っていたこともある。 お前に使うかどうかはまだわからん。 とりあえず、10種類をまず言うんだ。 わかったな?
672デフォルトの名無しさん:04/12/05 01:23:29
>>671
何の話?
673デフォルトの名無しさん:04/12/05 01:33:28
よーするに、しったかコイテ10種類と大風呂敷を広げただけか
674デフォルトの名無しさん:04/12/05 01:36:41
>>673
何の話?
675デフォルトの名無しさん:04/12/05 01:40:39
何の話か分からんので遡ってみた
>>81のことかな?
676デフォルトの名無しさん:04/12/05 01:42:43
俺も辿ってみた。
…環境依存の話は↓で。
【初心者歓迎】C/C++室 Ver.12【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1101100031/
677デフォルトの名無しさん:04/12/05 01:43:35
boolがどうたらこうたらのコンパイラが10種類挙げろってことらしい。
678デフォルトの名無しさん:04/12/05 06:28:16
> *argv++ で順番に参照するため

こいつぼけ
だからchar ** const argv; じゃなくって
const char **argv;だっていってるだろ
679デフォルトの名無しさん:04/12/05 06:29:51
> OSがWindowsならスルー
> UNIXならエラーになる

こいつもぼけ。
たとえば改行コードが\r\nの組みでそのコードを書いてgccに通してみろよ。
LinuxでもFreeBSDでもノーエラーだぞ ぼけ
680デフォルトの名無しさん:04/12/05 06:36:32
652,653はargvがchar型の2次元配列だと思い込んでいるぼけ。
681デフォルトの名無しさん:04/12/05 06:38:10
↑しかたないだろ。VC厨が多いんだから。(おれはちがうが)
682デフォルトの名無しさん:04/12/05 06:38:32
こいつもぼけだな。VCだってそんなコードは通らん。
683デフォルトの名無しさん:04/12/05 06:46:02
あのね、Cってポインター変数に[]をつけてその参照先の内容にアクセスできるんだよ。
684デフォルトの名無しさん:04/12/05 07:04:28
>>683
という基本的なことも知らないぼけなの?>>680-681は。
685デフォルトの名無しさん:04/12/05 09:02:26
char型の2次元配列とcharのダブルポインタは違うだろ
686デフォルトの名無しさん:04/12/05 09:19:20
char[][]とchar*[]が違うことは誰でも知ってるし
中身が違っていても同じ形式でアクセスできることも、殆どの人は知っている。
687デフォルトの名無しさん:04/12/05 09:33:07
#include<stdio.h>
int main(void){

int a[2];
int *p;
int cnt;

a[0]=1;
a[1]=2;
a[2]=3;

*p=a;

for(cnt=0; cnt<3; cnt++ )
{
printf("Input data %d\n",*p[cnt]);
}
return 0;

上のプログラムをコンパイルしたらエラーが出ました。ポインターの部分というのは分かるのですが
すいませんご指導お願いします。
ex.c:12: warning: assignment makes integer from pointer without a cast
ex.c:16: invalid type argument of `unary *'
688デフォルトの名無しさん:04/12/05 09:40:44
for (cnt = 0; cnt < 3; cnt++)
{
  printf("Input data %d\n", p[cnt]);
}
但しforのカウンタにはcntより i の方が一般的。
689デフォルトの名無しさん:04/12/05 09:53:19
>>687
p[cnt] は *(p + cnt) と等価
君はそこへ更に * を追加している
690デフォルトの名無しさん:04/12/05 10:39:06
>>687
int a[2]; で使えるのはa[0]とa[1]だけだぞ。
Cの仕様上エラーにはならないが。
691デフォルトの名無しさん:04/12/05 12:40:21
エラーが出たらキャストすればおっけー。
692デフォルトの名無しさん:04/12/05 13:01:09
693デフォルトの名無しさん:04/12/05 15:01:29
> エラーが出たらキャストすればおっけー。

するなよ ぼけ
694デフォルトの名無しさん:04/12/05 15:03:21
>>691
禿同
所詮やってることはメモリのバイトデータの読み書きだからな
695デフォルトの名無しさん:04/12/05 15:04:24
ヘッダーの中とかに、関数のプロトタイプを書くときに、
「extern」ってつけると、何かいいことあるんですか?
696デフォルトの名無しさん:04/12/05 15:05:39
おまじない
697デフォルトの名無しさん:04/12/05 15:05:58
ない。
C++から呼ぶときはextern "C"必須だけど。
698デフォルトの名無しさん:04/12/05 15:08:54
DLL作るときは書いておかないといけないとか
どこかに書いてあったような希ガス
699デフォルトの名無しさん:04/12/05 15:15:19
> DLL作るときは書いておかないといけないとか

まったくのでま。こういうVC厨はおおぼけ
700デフォルトの名無しさん:04/12/05 15:27:06
さっきからボケボケうるせー
701デフォルトの名無しさん:04/12/05 15:29:34
うんうん。
702デフォルトの名無しさん:04/12/05 15:35:09
> さっきからボケボケうるせー

やーい ぼけ
703デフォルトの名無しさん:04/12/05 15:42:11
704デフォルトの名無しさん:04/12/05 15:44:25
あっちからコピペ

char *m9['A'+1];

m9['A'] = "ソレダ";
705デフォルトの名無しさん:04/12/05 16:18:19
VC厨だと2バイトめにバックスラッシュが入る心配をするかも ;-)
706デフォルトの名無しさん:04/12/05 16:21:21
>>703
> 標準ではない新しい64ビット長の データ型long long

やーい > まちがい
707デフォルトの名無しさん:04/12/05 16:41:46
>>706
あれはC99ができるよりも前に書かれているんだから当然だ。
708デフォルトの名無しさん:04/12/05 16:42:34
long long って C 標準なんですか?
__int64 は?
709デフォルトの名無しさん:04/12/05 16:45:35
> long long って C 標準なんですか?

あたりまえだろぼけ
710デフォルトの名無しさん:04/12/05 16:46:11
> できるよりも前に書かれているんだから当然だ。

いや、当然ではない。
何度も改訂されているんだから、ここ5年も改訂がないのが問題なだけであり、
ちっとも「当然」ではない。
711デフォルトの名無しさん:04/12/05 16:48:21
じゃ、鯖に入って書き換えてきてくださいね(^^
712デフォルトの名無しさん:04/12/05 16:52:39
うんうん。
713デフォルトの名無しさん:04/12/05 16:55:32
>>711
馬鹿だなぁ。

鯖の中の人に電話で頼めばいいだろ(^^
714デフォルトの名無しさん:04/12/05 16:57:34
>>713
応じてくれるわけないだろ(^o^
715デフォルトの名無しさん:04/12/05 17:09:52
C++の「algorithm」にある、文字列の並び替え関数next_permutationって、
どういうアルゴリズムなんですか?普通のC言語のプログラムで書こうとしたらどうなるのでしょうか?
javaで同じことをしたいんですけど、ヘッダファイルを見てもチンプンカンプン。
716デフォルトの名無しさん:04/12/05 17:20:21
>>714
すいません、信用が無い人にはには無理でしたね(^_^;
717デフォルトの名無しさん:04/12/05 17:33:01
にはには
718デフォルトの名無しさん:04/12/05 17:38:29
>>715
C++かJavaの領域では?
Cは全く関係ないと思うんだけど。
719デフォルトの名無しさん:04/12/05 17:39:06
Cでもできるって
720デフォルトの名無しさん:04/12/05 17:39:46
関数内のローカルな変数に
auto ってつけると、なにかいいことありますか?
721デフォルトの名無しさん:04/12/05 17:40:32
ソースコードの文字数を稼げます。一杯ソースを書いた気になれます。
722デフォルトの名無しさん:04/12/05 17:40:40
>>720
バイト数稼げる。
723デフォルトの名無しさん:04/12/05 17:48:05
724デフォルトの名無しさん:04/12/05 18:02:13
>>720
つけないと動かない
725デフォルトの名無しさん:04/12/05 18:03:04
>>721-723
auto の話は、>>703 が示したページのすぐ下に載ってるんだから釣りだろ。
いちいちかまうなよ。
726デフォルトの名無しさん:04/12/05 18:03:10
>>720
B の名残り
単項 + もそうだけど
まず使わないけど
なけりゃないで言語として美しくない
727デフォルトの名無しさん:04/12/05 18:32:38
逆だろ?
単項の「+」がCに追加されたのはかなりあとだ (C89のころ)
728デフォルトの名無しさん:04/12/05 18:40:07
>>727
そう言ったつもりはなかった
「もそう」は後続の形容にかけたつもりだったが
確かにワンパス的にパースすると
そのように解釈されやすい構文になっていた
729デフォルトの名無しさん:04/12/05 18:44:54
われもこう
730デフォルトの名無しさん:04/12/05 18:45:21
どっち道情報量0の駄レスだけどな
731デフォルトの名無しさん:04/12/05 18:45:39
> そのように解釈されやすい構文になっていた

いいわけになってない
732デフォルトの名無しさん:04/12/05 18:46:09
2パスで読んでも3パスにしても意味かわらんぞ。ぼけ
733デフォルトの名無しさん:04/12/05 18:49:58
顔パスでオーケーだ。
734デフォルトの名無しさん:04/12/05 18:51:05
上げ足取りして楽しんでるところ悪いが、10種類のコンパイラはまだかね?
735デフォルトの名無しさん:04/12/05 18:51:51
下げ足取りしてやる
736デフォルトの名無しさん:04/12/05 18:54:14
>>734
ぐぐったら出てくる
737デフォルトの名無しさん:04/12/05 19:02:09
>>736
しらね-なら、だまってろ白痴
738デフォルトの名無しさん:04/12/05 19:19:09
>>737
同意
739デフォルトの名無しさん:04/12/05 20:04:31
一人芝居を見ている気分だ
740デフォルトの名無しさん:04/12/05 20:09:39
>>739
ばれた?
741デフォルトの名無しさん:04/12/05 20:17:46
742デフォルトの名無しさん:04/12/05 22:51:34
10種類まだ~?無いならないと言え。粘着やめてやるから。
もっとも普通のコンパイラですら10種類もあげられていないがな
743デフォルトの名無しさん:04/12/05 22:54:06
>>742
10種類もありませんでした。嘘つきました。ごめんなさい。
744デフォルトの名無しさん:04/12/05 23:15:29
stdbool.h 使えるのはほんのわずかのコンパイラでした。
もうVC厨とか言うのやめます。ごめんなさい。
745デフォルトの名無しさん:04/12/06 01:45:23
C言語には、数値を16進数文字に変換する関数はないのでしょうか?
746デフォルトの名無しさん:04/12/06 01:50:24
sprintf
747デフォルトの名無しさん:04/12/06 02:53:59
748デフォルトの名無しさん:04/12/06 02:57:03
743、744は742が自分で言ってるのが明白
749デフォルトの名無しさん:04/12/06 02:57:46
>>745
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/printf.3.html
> 符号なし16進数 (x と X) に変換する。


int i=255;
printf("%x\n",i);
750デフォルトの名無しさん:04/12/06 02:59:20
>>745

一桁ならこれで

char *hex = "0123456789abcdef";

printf("%c", hex[a]);
751デフォルトの名無しさん:04/12/06 03:06:54
>>748
戦わなきゃ。現実と。
752デフォルトの名無しさん:04/12/06 03:17:02
実際10種類どころかもっとあるのでは?
なんで言わないんだろう?
しったかぶりしてるというよりは、ひっぱりすぎなだけな気がする。
753デフォルトの名無しさん:04/12/06 03:19:37
%ょりは%02xにしたいなあ > 0~255
754デフォルトの名無しさん:04/12/06 03:21:15
粘着VC厨をひっかけてひっぱってるんだろうけど、
安物の釣り針だと、竿や糸より前に壊れちゃうよ。

もっとも重量級じゃなさそうだから平気なのかもsれんが。
755デフォルトの名無しさん:04/12/06 03:22:20
あんたは特徴があり過ぎてつまんない
756デフォルトの名無しさん:04/12/06 03:23:33
intじゃなくてunsigned intを使う利点を教えてください。
757デフォルトの名無しさん:04/12/06 03:24:27
> 文字列の並び替え関数next_permutationって、

そんなものはない > 並び替え
「並べ換え」ならある。
758デフォルトの名無しさん:04/12/06 03:27:37
voidの弟子だろ?
759デフォルトの名無しさん:04/12/06 03:28:38
意外と少ないんじゃない?
Turboとか古いのも入れてやっと10種類くらいかなぁ。
760デフォルトの名無しさん:04/12/06 03:28:39
で、その人の名前ときどき出てくるんですが、
どんな人なんですか?
761デフォルトの名無しさん:04/12/06 03:29:03
Turbo-CはC99なんかちっとも対応してないぞ。
762デフォルトの名無しさん:04/12/06 03:29:36
>>761
は?
763デフォルトの名無しさん:04/12/06 03:30:02
まだ、だれもxxでstdboolは標準で使えるとは言ってないんだが名
764デフォルトの名無しさん:04/12/06 03:30:13
VCと同じで99年より前に寿命が尽きたやつだから当然 > Turbo-CはC99なんかちっとも対応してない
765デフォルトの名無しさん:04/12/06 03:30:42
>>762
過去logすら嫁ね-のお前?
766デフォルトの名無しさん:04/12/06 03:31:42
C99に対応してないとCコンパイラじゃないとでも?
767デフォルトの名無しさん:04/12/06 03:32:02
対応していないコンパイラーだったら10どころか50でも80でもあるだろうが ぼけ

ちゃんとC99に対応している(少なくともstdbool.hのある)もののうち(たぶん20はないはず)、
10個名前言えるかどうか、っていう話だろ?
768デフォルトの名無しさん:04/12/06 03:32:34
>>767
そんな話しらねーよ。
769デフォルトの名無しさん:04/12/06 03:32:45
>>760
だからオマエは特徴有り過ぎなんだって。背中まで透け透け
770デフォルトの名無しさん:04/12/06 03:33:52
>>767
また知ったかぶりして大風呂敷広げたな。80種類あげてみろや?
771デフォルトの名無しさん:04/12/06 03:40:19
古いコンパイラーあわせて5つも言えないやつらって、
...おまえら厨房すぎー
772デフォルトの名無しさん:04/12/06 03:40:46
> そんな話しらねーよ。

知らないおまえがぼけなだけ
773デフォルトの名無しさん:04/12/06 03:41:23
>>760
Cの本かいてるひとです。
774デフォルトの名無しさん:04/12/06 03:44:09
mainの前についてる人です。
775デフォルトの名無しさん:04/12/06 03:55:22
http://pc5.2ch.net/test/read.cgi/tech/1075398852
こっちでみつけたんだけど、
http://www.sommelier.jp/what/expert.html
このひとほんとにプログラマー?
776デフォルトの名無しさん:04/12/06 04:01:05
寿命が尽きたプログラマー
777デフォルトの名無しさん:04/12/06 04:02:49
いいなー
778デフォルトの名無しさん:04/12/06 04:03:09
本業は何なんだろ
779デフォルトの名無しさん:04/12/06 04:16:53
すみません。
プリプロセッサーの#ifのところで、sizeofって使えるのがふつうなんですか?
手元にあるいくつかのコンパイラーで、使えるやつと使えないやつがあって,

どっちに合わせてかいておいたほうが今後のためかを知りたいのです。
780デフォルトの名無しさん:04/12/06 04:24:18
781デフォルトの名無しさん:04/12/06 04:24:59
>>779
使えないやつがあるのならつかわなきゃいいじゃん?
782デフォルトの名無しさん:04/12/06 07:00:24
0x1234という数値があったときに、メモリー上では
0x34 0x12
という場合と、
0x12 0x34
という場合があるってききました。
それなら一通りの書き方で、メモリーにコピーしたメモリーの中身をintすることは
できないのでしょうか。
783デフォルトの名無しさん:04/12/06 07:10:38
コンピュータのレジスタやメモリの仕組みもだけど
まずは日本語の勉強から。
784デフォルトの名無しさん:04/12/06 07:11:59
>>782
リトルエンディアン、ビッグエンディアンでぐぐれ。
同じエンディアン方式ならそのまま扱える可能性が高い、
しかし異なるエンディアンなら変換する必要がある。
785デフォルトの名無しさん:04/12/06 07:20:20
>>782
ついでに言うとintのビット長も環境依存。
786782:04/12/06 08:28:19
変換ってどうやればいいんですか。
どんなとこでも大丈夫にできますか?
787デフォルトの名無しさん:04/12/06 08:36:33
2バイトのintの順が、たとえばi = 1234; が
04 d2 になるのがビッグエンディアン
d2 04 になるのがリトルエンディアンだというのはわかります。

でも、a = 12345678; の場合、
00 bc 61 4e がビッグエンディアン
4e 61 bc 00 がリトルエンディアンなのでしょうけど、
うちのマシンだと
bc 00 4e 61 になるんです。
これは何エンディアンなのでしょうか?

788デフォルトの名無しさん:04/12/06 08:40:16
>>787
リトルエンディアンとビックエンディアンを調べろ。
789782:04/12/06 08:45:35
783のかた、「にコピー」が抜けてました。これでいいですか。
よろしければ内容にもおへんじください。
790デフォルトの名無しさん:04/12/06 08:56:38
> リトルエンディアンとビックエンディアンを調べろ。

調べたけど乗ってないから聞いてるんです。

つまりあなたはわからないのですね?
791782:04/12/06 09:00:02
なんだかえらそうですよ。分からないで聞いてるのでもっと謙虚にしましょうよ
792デフォルトの名無しさん:04/12/06 09:08:21
>>787
>>791
まぁ仲良くやりましょうよ
793デフォルトの名無しさん:04/12/06 09:20:53
791と792は実は788 (ってみりゃわかるか)
794デフォルトの名無しさん:04/12/06 09:27:34
>>787
ちゃんと1バイトずつ見ているか? 2バイトずつ見てないよな?

もしかして、odのディフォルト出力そのまま見てるって落ち?
#或いは同様のツールで。
795デフォルトの名無しさん:04/12/06 09:51:34
釣りだろ。787はスルー推奨
796デフォルトの名無しさん:04/12/06 09:57:50
797デフォルトの名無しさん:04/12/06 12:12:59
>>790
> 調べたけど乗ってないから聞いてるんです。

×乗ってない
○載ってない

検索結果が正しいかどうかは別として、
・調べて「あった」ことを証明するのは簡単です。
・調べて「無かった」ことを証明するためには検索で出たページを全て見る必要があります。

キーワード「ビッグエンディアン リトルエンディアン」で日本語のページを検索した結果 4,730件ヒットしました。
http://www.google.co.jp/search?hl=ja&q=%E3%83%93%E3%83%83%E3%82%B0%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3+%E3%83%AA%E3%83%88%E3%83%AB%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
そして検索エンジンは google 一つではありません。

本当に「無かった」のですか?

787 :デフォルトの名無しさん :04/12/06 08:36:33
790 :デフォルトの名無しさん :04/12/06 08:56:38

文脈から >>787 = >>790 であると推定して
もし本当に無かったことを確認できたとしたら、
あなたは約20分でそれを成し遂げたことになります。

個人的には信じがたいのですが、
そういう確認方法があるのならここで公開してみては如何でしょうか?
そうすれば >>787 の問いに答えてくれる人が表れる可能性は大きくなるでしょう。
798デフォルトの名無しさん:04/12/06 12:16:56
エンディアンごとき自学できない香具師がコンパイラをいじくろうとはな
799745:04/12/06 12:32:14
>>746-750
ありがとうございました。画面に表示するのではなく文字列変数に代入したいので、
sprintfで出来ました。
800デフォルトの名無しさん:04/12/06 12:35:25
>>796
ム板の約1/50はCスレで出来ています
801デフォルトの名無しさん:04/12/06 13:23:18
htonl, ntohl
802デフォルトの名無しさん:04/12/06 13:56:25
変数A(unsigned short型)に格納された値(400)を
変数B(BYTE型)に格納したいのですがどうすればいいのでしょうか?
803デフォルトの名無しさん:04/12/06 13:58:45
BYTEは0..255しか格納できないぞ。
はみ出た分をどうしたいんだ。
804デフォルトの名無しさん:04/12/06 13:58:45
まずは1byteが10bit以上な環境を探してきてください
805デフォルトの名無しさん:04/12/06 14:10:19
「C言語なら俺俺に聞け! Part 87」に書き込んでしまった。。。
うかつだった・・・

マルチになってしまいますが、気を取り直して・・・


コーディングスタイルの話になると思いますが、
識別名にマルチバイトを使う事について
皆さんだったらどう思われますか?
例えば、

ある関数に定数を与えて処理したい場合、
move_command_set( COMMAND_右に動く, MOVE_STEP_1 )
move_command_set( COMMAND_左に動く, MOVE_STEP_1 )
とか・・・

さすがに、識別名すべてをマルチバイトにするつもりは無いんだけど、
日本人として生まれたからには、こういう書き方を「アリ」に
していく流れって作れないかなーって思っているのですが・・・
昔だったら、こういうことかなり抵抗があったんだけど、
もう今となってはいいかなぁーって感じになってます。
806デフォルトの名無しさん:04/12/06 14:13:15
自分で流行らないし自分が関わるソースでもやって欲しくないけど
公開しないなら好きにしとけ。それからマナー・スタイルはスレ違い。
807デフォルトの名無しさん:04/12/06 14:14:53


「C言語なら俺俺に聞け! Part 87」についたレスは無視ですか?


そうですか


808デフォルトの名無しさん:04/12/06 14:16:38
>>805
好きじゃないがローマ字を使われるよりはまだましだな。
809デフォルトの名無しさん:04/12/06 14:20:16
電脳化したいんですがC言語で書けるでしょうか?
810デフォルトの名無しさん:04/12/06 14:20:40
>>805

c99 では、そういう書き方アリだけどな。

英語を読み書きできない高卒PGには、
便利な気がするな

まぁ、あれだ、そういう機能を付けた外人は、
要求されてマルチバイトを使えるように
したんだろうから、使う分には問題ないん
じゃないか
811デフォルトの名無しさん:04/12/06 14:28:00
>>805
ひまわりでも使って路
812デフォルトの名無しさん:04/12/06 14:30:53
文章を分かち書きしない日本語の利点が現れると言えなくもないな。
move on to leftをmoveOnToLeftと書くと違和感があるが、『左に動く』と書いても違和感は無いわけで。
813デフォルトの名無しさん:04/12/06 14:39:14
まだMoveToLeftとかMoveLeftとかの方が...
814デフォルトの名無しさん:04/12/06 14:41:21
>>805
ロシア人がその方針で書いたとして、
渡されたソースの識別子がロシア語だったらつらいな。
コメントや文字列はある程度仕方ないけど
識別子くらいは英語で書く。
815デフォルトの名無しさん:04/12/06 14:42:14
DB3だったかそのクローンだったかの操作言語の著者で、
DBのフィールド名や変数名に漢字を使うことを否定してた人がいたなぁ。
そのソフトのマニュアルに書かれたサンプルは全て漢字名だったのだが。

その人の否定した理由として、誤変換に気を取られるのはプログラミングの過程においては
非能率的だというものだった気がする。

私はローマ字のほうがましだと思うが、ローマ字はローマ字で、綴り方が複数あるからそれも問題。
816782:04/12/06 14:53:04
801のかた、htonlやntohlはネットワーク用に並べ替えるだけで
順番はきにしちゃいけないっていわれたんですけどつかっていいんですか。
あとintやlongでも使えますか。ひきすうがなんか違う、、、
817デフォルトの名無しさん:04/12/06 14:53:49
805 です。

>>806
 スレ違いすみません・・・
 これ最後に消えます。

>>810
>>812
 英語知らないやつだと、結構無理やりなんですよ・・・

>>808
>>815
 チームでプログラム組んでいると、
 関数の機能に該当する単語を辞書で無理やり調べました的な識別名を
 使ってくるやつもいれば、ローマ字でヘボン式だかなんだか
 わからない識別名を使うやつもいて、ムキーって感じなんですよ。
 だから、この際マルチバイト使おう!なんて考えたのですが・・・

818デフォルトの名無しさん:04/12/06 15:00:40


「C言語なら俺俺に聞け! Part 87」についたレスは無視ですか?


そうですか


819デフォルトの名無しさん:04/12/06 15:01:22
>>813
大文字を混ぜると何故か格調高く書きたくなるんだよ
820デフォルトの名無しさん:04/12/06 15:02:35
>>811

わぁ、ごめんなさい。
煽りだと思った。

「ひまわり」知らなかった。
すげー、これすげーよ。
ぴゅー太みたい

でも、仕事には使えないやぁー
821デフォルトの名無しさん:04/12/06 15:04:56
生越なんかは仕事でRuby使ってるらしいし、ひまわりで仕事してもいいんじゃないかなぁ
822デフォルトの名無しさん:04/12/06 15:15:29
>>817
マルチバイトを使ったところで、そういういい加減な香具師は相変わらずいい加減なキーワードをつけるよ。
例えば、関数名で「マウスボタン欧化処理」とかね。
823デフォルトの名無しさん:04/12/06 15:18:58
>>822
そいつはもう消えてる。しかもマルチで、その上スレ違い。

> スレ違いすみません・・・
> これ最後に消えます。
824デフォルトの名無しさん:04/12/06 15:40:29
スレ違いでもないような気がするが、
一応C言語のことだしな。

825デフォルトの名無しさん:04/12/06 20:37:02
warning: implicit declaration of function `E1'

E1ってのは関数名なんですが、↑はどういったイミの警告なのでしょうか?
826デフォルトの名無しさん:04/12/06 20:41:56
>>825
警告:機能「E1」の暗黙の宣言
827デフォルトの名無しさん:04/12/06 20:47:36
さぁ、この変な日本語から意味を推定してみよう。
答えは来週だよ!みんな見てね!
828デフォルトの名無しさん:04/12/06 21:40:02
implicitのcit部分のみ訳

♀を殴ると
cit
頭が落ちたよ・・・
829デフォルトの名無しさん:04/12/06 21:52:36
>>825
そんな関数名はやめた方がいい。
830デフォルトの名無しさん:04/12/06 22:19:44
助けてください。
OSはUNIXでc言語でお願いします。期日は早めでお願いします。
1.c言語を用いてスロットマシーンをつくってください。
2.構造体利用を用いたプログラムをつくって下さい。
以上の二つです。
831デフォルトの名無しさん:04/12/06 22:20:33
>>830
ここはそんなスレじゃない
去れ
832デフォルトの名無しさん:04/12/06 22:24:00
>>830
マルチ氏ね
833デフォルトの名無しさん:04/12/06 22:55:59
>>830

#include <stdio.h>

int main(void)
{
printf("ジャンジャンバリバリ~♪");
printf("チョリリリーン♪");
printf("わぁ。大当たりだ!");
return 0;
}
834デフォルトの名無しさん:04/12/07 09:54:36
> 英語の文章に出現する単語の中で、文字数が最も多い単語を出力して終了するプログラムを作成せよ。
> 入力データには英文字、スペースのみが含まれているものとし、単語とはスペースで区英語の文章に出現する単語の中で、文字数が最も多い単語を出力して終了するプログラムを作成せよ。

課題出すやつのセンスが悪いな。通常は、
cat file1 file2 | tr -cs A-Za-z '\012' | sort | uniq -c | awk '{print length($2), $0}' | sort -nr
とやるだけで出てくるんだから、そんなものをCでやらせるんんじゃね-よ! ぼけ
835デフォルトの名無しさん:04/12/07 09:55:44

もういっちょ「| head -1」も追加して欲しかったな
836デフォルトの名無しさん:04/12/07 09:59:11
いや、おれなら
cat file1 file2 | tr -cs A-Za-z '\012' | sort | uniq -c | awk '{print length($2), $0}' | sort -nr | head -1 | awk '{print $3}'
だな。
837デフォルトの名無しさん:04/12/07 09:59:50
VC厨には無縁
838デフォルトの名無しさん:04/12/07 10:01:16
途中の sort | uniq はいらない気がする...
あと、最大長のものは 1つとは限らないから head -1 は危険。
839デフォルトの名無しさん:04/12/07 10:03:30
> 途中の sort | uniq はいらない気がする...

同じものをまとめたかったんだろ?
840デフォルトの名無しさん:04/12/07 10:54:58
> 2. 構造体利用を用いたプログラムをつくって下さい。

main()
{
typedef struct {
char kozo[256];
} KOZO;
KOZO i;

strlcpy(i.kozo, "こーぞー"),;
printf("これはなんですか?\n");
printf("%sたい。\n", i.kozo);
}
841デフォルトの名無しさん:04/12/07 10:55:50
「じゃあこれは?」
「文字列ですたい。」
842デフォルトの名無しさん:04/12/07 10:57:51
strlcpy
843デフォルトの名無しさん:04/12/07 10:57:55
> c99 では、そういう書き方アリだけどな。

ねーよ
いいかげんなウソつくな。
844デフォルトの名無しさん:04/12/07 10:58:49
> strlcpy

ふつうstrlcpyだね。(840のは引数たりんぞ!)
strncpy使うやつはVC厨だ。
845デフォルトの名無しさん:04/12/07 11:00:46
846デフォルトの名無しさん:04/12/07 11:01:40
やーいstrlcpyもしらなかった842 !
847デフォルトの名無しさん:04/12/07 11:02:06
いまどきstrlcpyは常識やね。
848デフォルトの名無しさん:04/12/07 11:02:51
知っているが。
http://pc5.2ch.net/test/read.cgi/tech/1095843584/を読め。strlcpyについての喧嘩があるから。
849デフォルトの名無しさん:04/12/07 11:12:01
なんだいま検索したのかよ。
850デフォルトの名無しさん:04/12/07 11:15:29
strlcpyの必要性が想像できないなんて、
VC厨が多いってのはほんとなんだな。ここ
851デフォルトの名無しさん:04/12/07 11:39:08
>>834
おれならエクセルにはりつけて文字数出すけどな。
852デフォルトの名無しさん:04/12/07 12:33:16
>>850
strlcpyの必要性ってなぁに?
853デフォルトの名無しさん:04/12/07 12:42:26
C99で、型のサイズを指定した変数を定義することができるようになったと
思うんですが、あれってどのヘッダファイルに書かれていましたっけ?
C#でいう

Int32 a; (aは符号付き32ビット)
UInt32 b; (bは符号なし32ビット)

みたいなことができたはず、ですが・・・
854デフォルトの名無しさん:04/12/07 12:44:49
#include <stdio.h>

main()
{
int i=0,tou;

printf("購入する馬の頭数を入れてください");
scanf("%d",&tou);
printf("%d頭連れてきました。\n"); /*←この部分*/

for(i=0; i<tou; i++){
printf("∈・^ミ\n",i);
}
}

これで、「%d頭連れてきました」ってのが4247748頭になるんだけど、
なんでかなぁ(´・ω・`)
855デフォルトの名無しさん:04/12/07 12:46:06
>>853
stdint.h
int32_tとかuint32_tとか
856デフォルトの名無しさん:04/12/07 12:47:07
>>854
ネタ?

>4247748頭になるんだけど、なんでかなぁ

たまたま。
時と場合によって結果が変わるコードだな。
857デフォルトの名無しさん:04/12/07 12:47:52
>851
ダサッ
858854:04/12/07 12:53:40
>>856
ネタじゃないんだけど・・
scanfのときにどんな数字入れても、4247748頭ってなるんだけど
859デフォルトの名無しさん:04/12/07 12:58:21
>>858
- printf("%d頭連れてきました。\n");
+ printf("%d頭連れてきました。\n", tou);
860854:04/12/07 13:01:55
>>859
ありがとうございました。きちんと思った通りに動きました。
そして、レベルの低い質問ですいませんでした。( ;∀;)
861長文ごめん:04/12/07 14:00:01
1:#include <stdio.h>
2:
3:int fact(int n)
4:{
5:int n1;
6:int fc;
7:
8:printf(">n %p %d\n", &n, n);
9:printf(">n1 %p %d\n", &n1, n1);
10:printf(">fc %p %d\n", &fc, fc);
11:printf("\n");
12:
13:if(n == 1)
14:return 1;
15:n1 = fact(n - 1);
16:fc = n * n1;
17:
18:printf("<n %p %d\n", &n, n);
19:printf("<n1 %p %d\n", &n1, n1);
20:printf("<fc %p %d\n", &fc, fc);
21:printf("\n");
22:
23:return fc;
24:}
25:main()
26:{
27:printf("fact(4) = %d\n", fact(4));
28:}
本にのってるプログラムなんですが、return1以降の動きがわかないんですよ、
return1の後は16行目以降が繰り返されているんですが、なんでなんでしょ?
本はそこらへんの解説は載ってないんで、誰か解説してください_| ̄|○
862デフォルトの名無しさん:04/12/07 14:03:57
fopen()で開くファイル名を実行時に編集しているので
グローバル変数(char*)に格納しています。

でもこのままじゃfopenに渡せませんよね?
fopen(const char*,...)だから。

こういう場合どうやって書けばいいのでしょうか?
アドバイスよろしくお願いします。
863デフォルトの名無しさん:04/12/07 14:09:05
>>861
・行番号は不要→コピペするときに邪魔。
・インデントはつけよう→主に括弧の対応付けなどが把握し難い。
・質問の意図が不明。
864デフォルトの名無しさん:04/12/07 14:10:44
>>862
char* str;
fopen( (const char*)str, …);
865デフォルトの名無しさん:04/12/07 14:10:55
>>862
やってみることもしないで質問するな。
866デフォルトの名無しさん:04/12/07 14:14:25
>>864はネタにネタレスするぼけ
867862:04/12/07 14:26:31
>>866 ネタじゃなくてまじめです…。
試行錯誤していろいろコード書いてコンパイルを繰り返しています。

#include <stdio.h>
#include <stdlib.h>
char *szFileName[MAX_PATH+1];

void putText(char *data)
{
  FILE *fp;
  fp = fopen(szFileName, "a"); ←エラー

  if ( !fp ){
   ・・・・
}

main()でグローバル変数szFileNameへファイル名をセットしています。
main()からputTextをコールします。

短縮しましたがこんなところです・・・どなたか教えてください。
よろしくお願いします。
868デフォルトの名無しさん:04/12/07 14:29:09
char *szFileName[MAX_PATH+1];
869デフォルトの名無しさん:04/12/07 14:32:25
>>867
szの前にあるものはなんだ?
870デフォルトの名無しさん:04/12/07 14:37:56
>>867
- char *szFileName[MAX_PATH+1];
+ char szFileName[MAX_PATH+1];

>>866
こいつぼけ
871デフォルトの名無しさん:04/12/07 14:56:58
>>863
指摘サンキューです

return 1が動いたらmainのprintfに1を返してプログラムは終了すると思ってるんですが、
実際にはプログラムは終わらずにfcを返して終了するんですよ
そこんとこがわかんないんで教えて欲しいなーと思ってるんです
わかりにくくてすいません
872デフォルトの名無しさん:04/12/07 15:15:57
>>871
15行目でfactを呼び出してるから。
具体的に処理の順番を書くと

1:mainでfuct(4)呼出
2:fact(4)の15行目でfact(3)呼出
3:fact(3)の15行目でfact(2)呼出
4:fact(2)の15行目でfact(1)呼出
5:fact(1)の14行目でreturn 1;になりfact(2)の16行目以降の処理へ(fcは2*1で2)
6:戻値2でfact(2)が終わり、fact(3)の16行目以降の処理へ(fcは2*3で6)
7:戻値6でfact(3)が終わり、fact(4)の16行目以降の処理へ(fcは6*4で24)
8:戻値24でfact(4)が終わるのでprintfで"fact(4) = 24"が出力される

分かりづらいなら15行目で関数呼び出しをやめて展開してみると吉
873デフォルトの名無しさん:04/12/07 15:25:13
VCならF10でも押してろ
874デフォルトの名無しさん:04/12/07 15:30:21
>>872
丁寧に手順まで書いてもらってありがとうございます

ピンとこないんで聞いておきたいんですが、
「展開」ってのは動かせってことですよね?
875デフォルトの名無しさん:04/12/07 16:41:20
>>874
再帰でググレ
876862:04/12/07 17:22:09
>>868-870
ありがとうございました・・。
無事できました。もっと本を読んで勉強してきます・・。
877デフォルトの名無しさん:04/12/07 18:30:07
>>876
そうだな出直してきた方がいいな。
878デフォルトの名無しさん:04/12/08 01:05:51
あたまつれてきました!
879デフォルトの名無しさん:04/12/08 09:25:42
> return 1が動いたら

returnが「動く」わけではない。
880デフォルトの名無しさん:04/12/08 09:31:33
こいつぼけ。kf7ち76き98;p-0p:おいf6ういdc6う7で6qw346えゆjyhgきjぉい;。vjkmtdcひゃ4s7うm6おl89
881デフォルトの名無しさん:04/12/08 11:23:14
質問ですunsorted list(ソートされないリスト)で
┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
と配列が渡されたとき、「75」を挿入すると

┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃75┃ ┃
┗━┻━┻━┻━┻━┻━┛
となるので正しいですか??

また、
┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
から53を削除した場合、リストはどの様に並びますか?
よろしくおねがいしますm(_ _"m)
882デフォルトの名無しさん:04/12/08 11:30:21
どんなソートだか分からないし
知障だとこんな問題も解けないのか?
しかもスレ違いだし
頭悪いにも程がある
883デフォルトの名無しさん:04/12/08 12:25:02
>>881
リストってリスト構造の事か?75を挿入する時だって先頭に挿入すれば
10の前に75が入るぞ。

そこら辺を詳しく説明しろ。問題があやふやだと解答も出せん。
884デフォルトの名無しさん:04/12/08 12:30:13
>>881
お前がどう実装するのか次第だろ。
885デフォルトの名無しさん:04/12/08 13:40:35
要するに答えられないわけですね。
俺に聞けなんてスレだからマシかと思いましたが、
カキコした自分が馬鹿でした。
頼りにならない人しかいないなんて知らなかった。
886デフォルトの名無しさん:04/12/08 14:07:41
>>885
二度と来るな。
887デフォルトの名無しさん:04/12/08 14:18:35
>>881
マジレスするとスレ違い。宿題は宿題スレで。
888デフォルトの名無しさん:04/12/08 18:54:54
>>881
┏━┳━┳━┳━┳━┳━┓
┃10┃ ┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
889デフォルトの名無しさん:04/12/08 19:47:02
すげー
890デフォルトの名無しさん:04/12/08 19:55:59
>>888
お前は真の天才だな!
891デフォルトの名無しさん:04/12/08 22:49:41
>>885
> 自分が馬鹿でした
ここだけ読んで激しく同意した
892デフォルトの名無しさん:04/12/08 23:03:56
>>881

あんたが>>885と同一人物であるならば
最もふさわしいスレはここだ↓
http://pc5.2ch.net/test/read.cgi/tech/1101931660/

技術レベル以前に母国語で質問文が組めない重度の知的障害が見られる
893デフォルトの名無しさん:04/12/09 00:41:07
881は沢山返事してもらって幸せな奴だな
894デフォルトの名無しさん:04/12/09 01:41:07
┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
と配列が渡されたとき、「75」を挿入すると

┏━┳━┳━┳━┳━┳━┓
┃75┃10┃53┃24┃35┃ ┃
┗━┻━┻━┻━┻━┻━┛
となる
あとは >>888
895デフォルトの名無しさん:04/12/09 09:55:06
int型の数値を16進にしてバイナリデータとして
BYTE型変数に格納したいです。
  BYTE buf[512];
  buf[0] = 0xA3;
  buf[1] = 0xF2;
↑と書けばBYTE変数にバイナリデータを格納できると分かりました。

次にint型の数値を16進に変換してBYTE型変数に入れてみようと思い
詳しい方のホームページを見てやってみましたがうまくいきません。
どこが悪いか教えていただけませんか?
最終的にはint sizeに格納された450を
バイナリデータ1C2に変換してBYTE buf[0]に格納したいです。

 int size;
size = 450;
 BYTE buf[512];

 // size(450)を16進にしてszsize(1C2)に格納
 char szsize[5];
 wsprintf(szsize," %d ",size); // int → char
 const char *szbuf1;
 char *szbuf2 ;
 szBufSize1 = szsize;
 long lsize = strtol(szbuf1, &szbuf2, 0); // 10進→16進
 itoa(lsize, szsize, 0x10); // ←szsizeにはちゃんと"1CA"と入ります

 // BYTE型変数に格納する
 buf[0] = strtol(szsize, NULL, 16); // ←bufに16進数が入りません・・・
896デフォルトの名無しさん:04/12/09 10:24:41
/* buf[0]-buf[(sizeof(int)-1]にsizeの値を分解して格納(エンディアンに注意) */
memcpy((char *) & size, buf, sizeof(int));
/* bufにsizeの値を16進文字列として格納 */
sprintf(buf, "%0*x", sizeof(int) * 2, size);
897デフォルトの名無しさん:04/12/09 11:35:46
>>896
memcpy(buf, (char *) & size, sizeof(int)-1);
sprintf(buf, "%0*x", sizeof(int) * 2, size);

早速ありがとうございます。
教えて頂いたようにやってみたら16進文字列をスムーズに取得できました。

しかし、BYTE型の変数にバイナリデータを格納できません・・。
charの16進文字列をバイナリデータに変換したいです・・・。
せっかく教えて頂いたのに説明が下手ですみません。


●結果は、こんな感じでバイナリデータを格納したいです。
  BYTE buf[512];
  buf[0] = 0x01;
  buf[1] = 0xCA;

×文字列データが格納されると失敗です。
  BYTE buf[512];
  buf[0] = '0';
  buf[1] = '1';
  buf[2] = 'C';
  buf[3] = 'A';
898デフォルトの名無しさん:04/12/09 11:47:11
>>897
キミがしたいのは、単に↓のようなことかい?
buf[0] = size >> 8;
buf[1] = size & 0xff;
899デフォルトの名無しさん:04/12/09 14:35:30
>>898
はい、教えてもらったように演算したら簡単にできました。
ありがとうございました。

それと追加質問で申し訳ないのですが
long型をBYTE配列にコピーする方法ってないのでしょうか?
_ltoaで文字列へ変換することはできました。
900デフォルトの名無しさん:04/12/09 14:42:04
>>899
unionでも調べてくれ。
901デフォルトの名無しさん:04/12/09 15:01:05
>>899
>>898 と同じ方法は試した?
902デフォルトの名無しさん:04/12/09 15:39:22
>>901
はい、試してうまくいきました。
コードは>>898のままでいけました。

>>900
unionを調べて使ってみたところ、
BYTE配列にあっさりlongデータが入りました。
以下のような感じです。

 union u_tag{
   long ss;
   BYTE buf[4];
 }uval;
 union u_tag *ptr;

 ptr = &uval;
 uval.ss = 500;
 // この時点でssに格納した500が
 // 同じ共用体のBYTE配列bufにもコピーされている。
903デフォルトの名無しさん:04/12/09 16:55:39
質問です。
キーボードの方向キーの入力を調べたいのですが
専用の関数等あるのでしょうか?
Win32の GetKeyState() みたいな関数はありますか?

また、現在 system("cls")で画面を更新するようにしているのですが
更新を連続的にしてしまうと、画面がちらついてしまいます。
これの回避策などもあればご教授ください。
904デフォルトの名無しさん:04/12/09 17:02:07
additional storage 使わないでスワップするときって、int型ならXOR使ってっていうのは、
分かったんだけど、doubleとか char の場合ってどうするか分かりますか?
905デフォルトの名無しさん:04/12/09 17:13:37
>>903
上・・・ありません。
下・・・ありません。
906デフォルトの名無しさん:04/12/09 17:15:00
>>903
よく分からないけど
void clearScreen()
{
    const HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO csbi;

    GetConsoleScreenBufferInfo(out, &csbi);

    const COORD coset = { 0 };
    DWORD written;
    FillConsoleOutputCharacter(out, ' ', csbi.dwSize.X * csbi.dwSize.Y, coset, &written);

    const WORD attribute = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE;
    SetConsoleTextAttribute(out, attribute);
    FillConsoleOutputAttribute(out, attribute, csbi.dwSize.X * csbi.dwSize.Y, coset, &written);

    SetConsoleCursorPosition(out, coset);
}
こういうのもあるぞ
907デフォルトの名無しさん:04/12/09 17:23:13
>>902
エンディアンには気を付けてね
908903:04/12/09 17:27:29
>>905
そうですか。。
やはり、OSが提供するAPIを使うしかなさそうですね。

>>906
コードを書いて頂き、ありがとうございます。
しかし、そのコードでクリアしても、ちらついてしまうようです。。

やはり、完全にちらつきを取るには
ビデオメモリを制御するしかないでしょうね。。
とりあえず、これは諦めます(笑)
909デフォルトの名無しさん:04/12/09 17:52:58
キーボードで数値を入力したとき特定範囲以外の数字が入力されたとき
エラーメッセージを出すようにしたいのですがどうすれば良いでしょう
910デフォルトの名無しさん:04/12/09 18:24:34
>>909
if文で判断汁。
911デフォルトの名無しさん:04/12/09 18:30:25
>>908
#define MIN 0
#define MAX 10
int n;
scanf("%d", &n);
if(n < MIN || n > MAX) fprintf(stderr, "error!\n");
912911:04/12/09 18:31:35
>>908
>>909
913909:04/12/09 18:40:32
ありがとう
914デフォルトの名無しさん:04/12/09 19:53:15
EBCDIC←→ASCII
コード変換サンプル
掲載サイト
目にも止まらぬ速さで教えて下さい
915デフォルトの名無しさん:04/12/09 20:24:38
EBCDIC ASCII 変換 ソース の検索結果 約 1,210 件中 1 - 10 件目 (0.81 秒)

0.81秒では不満か?
916デフォルトの名無しさん:04/12/09 20:26:15
うちは0.37秒だった。
917デフォルトの名無しさん:04/12/09 20:28:18
Akamaiパワーだな
918デフォルトの名無しさん:04/12/09 20:38:48
>>915-916
満足です
919デフォルトの名無しさん:04/12/10 01:43:13
>>902

>907 も書いてるが

long n;
BYTE buf[4]; // longは4バイトであるとする
buf[0]=*((BYTE *)&n);
buf[1]=*((BYTE *)&n +1);
buf[2]=*((BYTE *)&n +2);
buf[3]=*((BYTE *)&n +3);

とかでよい? エンディアンってわかる?
920デフォルトの名無しさん:04/12/10 02:11:06
main関数の戻り値って必要なんですか?
921デフォルトの名無しさん:04/12/10 02:12:31
はい。
922デフォルトの名無しさん:04/12/10 04:07:13
いいえ。
923デフォルトの名無しさん:04/12/10 04:11:22
>>922
その理由を教えてください
924デフォルトの名無しさん:04/12/10 04:20:29
はい。
925デフォルトの名無しさん:04/12/10 05:53:14
ぬる
926デフォルトの名無しさん:04/12/10 06:21:59
>>924
すみませんが、真面目に教えてください
理由は何ですか?
927デフォルトの名無しさん:04/12/10 06:35:09
int main←必要
void main←不要
928デフォルトの名無しさん:04/12/10 06:40:05
>>927
void mainなんて物の事なんて聞いてないんですが…
あなたは>922なんですか?別の人なら邪魔をしないでいただきたいです
929デフォルトの名無しさん:04/12/10 07:26:37
>>928←不要
930デフォルトの名無しさん:04/12/10 08:37:54
    ⊂_ヽ、
      .\\  /⌒\
         \ ( 冫、)ウンチになぁれ
          > ` ⌒ヽ
         /    へ \
        /    /   \\
        レ  ノ     ヽ_つ
        /  /         ・*.・:
       /  /|          :。 *.・
       ( ( 、           ★。:’*
       |  |、 \        。・.*・; ・
       | / \ ⌒l       ;* ・。;*★ 人・
       | |   ) /        ・ ★・ (_ );; * 。・
      ノ  )   し'          ・ * (__) * ・。・
     (_/            。*.;; ・ (>>928)    ★.* ’★
931デフォルトの名無しさん:04/12/10 08:51:36
intのサイズって環境依存なんですよね?
実際にサイズが決まるのは、実行時なんですか?
それともコンパイル時なんですか?
932デフォルトの名無しさん:04/12/10 09:00:48
コンパイル時。
それと環境というより処理系による。
933902:04/12/10 09:10:05
>>907>>919
はい。上位/下位のことですよね?
Intel系使っていますので私の環境ではリトルエンディアンです。

long n;
n=416;
BYTE buf[4];
buf[0]=*((BYTE *)&n);
buf[1]=*((BYTE *)&n +1);
buf[2]=*((BYTE *)&n +2);
buf[3]=*((BYTE *)&n +3);

ビッグエンディアンではbuf[2][3]に160と1がはいって
リトルエンディアンではbuf[0][1]に160と1がはいるってことですよね。

エンディアンは知っていましたがBYTE配列へのlongのキャスト方法
分かっていませんでした。教えてくださってありがとうございました。
どうやってやるのかWebを見たのですが読んでも理解できなかったので
とても助かりました。本当に感謝です。
934931:04/12/10 09:11:31
>>932
あ~そうですか、よかった。
intが32bit環境で作成したバイナリを、64bit環境で動作させても
32bitで処理されるんですよね?
935デフォルトの名無しさん:04/12/10 09:29:08
>>933
union {
long l;
unsigned char c[sizeof(long)];
} u;
u.l = 416;

long l = 416;
unsigned char c[sizeof(l)];
memcpy(c, (char *) & l, sizeof(l));

>>934
そういうこと。だからintが16ビットのLSI-Cなら仮令64ビット環境でもintでは32767までしかカウントできない。
936デフォルトの名無しさん:04/12/10 10:24:09
宿題スレよりレベル低いな
937デフォルトの名無しさん:04/12/10 10:24:42
1つのプログラムを実行したとき、
そのメモリの使用容量はどう計算ししますか?

938デフォルトの名無しさん:04/12/10 10:31:14
>>937
それは、OSのAPIで取得するしかないのでは?
何の環境か知らんけど、WinNT系のOSの場合だと、それ関係の隠しAPIがあった筈。
939デフォルトの名無しさん:04/12/10 10:47:28
公開されてるよ
940デフォルトの名無しさん:04/12/10 17:28:48
struct test{
string aaa;
};


test *pstr;
pstr->aaa = "ABC";

ポインタについて教えてください。
文字列"ABC"を代入するにはどう書けばいいですか?
941デフォルトの名無しさん:04/12/10 17:50:37
>>940
激しくCじゃない気がするが
test *pstr = new test;
pstr->aaa = "ABC";
942デフォルトの名無しさん:04/12/10 17:57:34
940です。
すみません。ポインタはCじゃなかったんですね。
でもありがとうございました。
943デフォルトの名無しさん:04/12/10 17:59:32
>>942
ポインタがCじゃないんじゃなくて、
stringがC++のstd::stringじゃないかって話かと
944デフォルトの名無しさん:04/12/10 18:02:40
940です。何度も教えてもらってすみません。
945デフォルトの名無しさん:04/12/10 21:53:34
マンデルブロー集合の計算と結果を画像で出力するプログラムを作ってみたいんですが
参考になるサイトとかありましたら教えてください。

考え方としては
計算した回数を2次元配列に入れて
0  0  0 20  0
0  0 20 50 20
0 20 50 50 50
0  0 20 50 20
0  0  0 20  0

こんな感じにして回数に応じて色をつけるようにすればいいんですよね? 
946デフォルトの名無しさん:04/12/10 21:56:49
947デフォルトの名無しさん:04/12/10 23:14:43
ところで10種類君、最近みかけないね。
また暴れてほしいよ。
948デフォルトの名無しさん:04/12/10 23:21:29
そろそろ来るよ
949デフォルトの名無しさん:04/12/10 23:40:00
で、10種類は?もう1週間は経ったな?
950デフォルトの名無しさん:04/12/11 00:28:01
>>945
こんなの見つけた。
ttp://yokohama.cool.ne.jp/yew/bbs/58.html
----cut here--------cut here--------cut here--------cut here----
For all you C programmers out there, try this:

main(){char *b=" .:-;!/>)|&IH%*#";float i,j,k,r,x,y=-16;while
(puts(""),y++<15)for(x=0;x++<84;putchar(b[(int)k&15]))for(i=k
=r=0;j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
----cut here--------cut here--------cut here--------cut here----
951デフォルトの名無しさん:04/12/11 02:02:31
なにそれ。
952デフォルトの名無しさん:04/12/11 11:38:38
かてぃ~
953デフォルトの名無しさん:04/12/11 11:40:43
>>951
マンデルブロートじゃない?
954デフォルトの名無しさん:04/12/11 12:22:09
C言語なら俺に聞け! Part 97

  ヘ_ヘ�    まず問題を冷静に吟味して
 ミ ・ ・ ミ   Cの話か否かをはっきりさせてから質問しましょう。�
 �(  ° )~  質問する前には最低限検索を。�

GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo!�(←ここ注目)�
ソース丸投げ、宿題、書籍�は専門の別スレがあるのでそこへさようなら。�

エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。�

C�FAQ�日本語訳�
http://www.kouno.jp/home/c_faq/
Cプログラマ必読�・プログラミング言語C(通称 K&R)�
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/

各種リンク、関連スレは>>2-13あたり�

C言語なら俺に聞け!�Part�96
http://pc5.2ch.net/test/read.cgi/tech/1101615970/
他の過去ログはここに�
http://nssearch.hp.infoseek.co.jp/clang/
955デフォルトの名無しさん:04/12/11 12:27:44
この Part 96 の 1書いたやつ!
だれだかしらんが、97のときは、ちゃんとエンティティーの160番つかえよ!
俺はスレッドたてられんからやらんけど。
956デフォルトの名無しさん:04/12/11 13:11:56
じゃ、次スレはPart96 Rev.2ということで
957デフォルトの名無しさん:04/12/11 13:24:13
905 :デフォルトの名無しさん :04/12/10 23:47:28
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
hドライブの○○フォルダのint型の複数データが格納されたバイナリファイルを使って

 |給 与|一万円|五千円|千 円|五百円|百 円|五十円|十 円|五 円|一 円|
--+------+------+------+------+------+------+------+------+------+------|
1|423251| 42| | 3| | 2| 1| | | 1|
2|498225| 49| 1| 3| | 2| | 2| 1| |
3|316482| 31| 1| 1| 1| 4| 1| 3| | 2|
--+------+------+------+------+------+------+------+------+------+------|
 合 計 | 122| 2| 7| 1| 8| 2| 5| 1| 3|

という表を作らなければならないみたいです。
[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ(バージョン):.NET2002
 [3.3] 言語:C++
[4] 期限:2004年12月11日12:30まで
[5] その他の制限:無し

どなたかよろしくお願いします!!

940 :デフォルトの名無しさん :04/12/11 10:17:53
>>939
そのファイルにはどのようにデータが入っているんだ?


943 :939 :04/12/11 10:30:50
>>942
ファイル学校行かないとないんです…。形だけでもどうにかなりませんか?
958デフォルトの名無しさん:04/12/11 13:28:45
>>957
何?これをやってくれと?
959デフォルトの名無しさん:04/12/11 13:35:07
944 :デフォルトの名無しさん :04/12/11 10:36:09
>>943
いつまでもフザケた事言ってんじゃねえよ


945 :デフォルトの名無しさん :04/12/11 11:44:38
ファイル学校ってどんな学校や
…とか一瞬考えたのは秘密


946 :906 :04/12/11 12:21:30
あわれ905楽しようとしたばっかりに
寝坊した漏れに笑いのネタを提供してくれた。

いや、7時には起きたんだけどね。
>>905のレスを見ても仕様がよく分からんから
二度寝したんだよね。

別に学校の宿題くらい納期過ぎたって問題ないっしょ
自分でガン( ゚д゚)ガレ
960デフォルトの名無しさん:04/12/11 14:48:05
> じゃ、次スレはPart96 Rev.2

いや、どうかんがえても97だ。
961デフォルトの名無しさん:04/12/11 14:58:42
> いや、どうかんがえても97だ。

ということにしたいのですね?
962デフォルトの名無しさん:04/12/11 15:32:34
933 :初心者A :04/12/10 23:02:04
#include<stdio.h>
int main(void){
int a;
a = 1;
printf("number%d\n , 0");
} return 0;

参考書見ずに書いてみました。もしかしたらどこか違うカモ…
まず1歩目です!

940 :デフォルトの名無しさん :04/12/11 13:06:10
>>933
int a;
a = 1;
は int a = 1;
とまとめられる。
のはいいんだがaは何に使ってるんだ?

941 :デフォルトの名無しさん :04/12/11 13:26:35
>printf("number%d\n , 0");
そもそも number%d\n , 0 って表示させてどうするw

942 :デフォルトの名無しさん :04/12/11 13:31:33
>%d
...何が表示されるんだろう

943 :デフォルトの名無しさん :04/12/11 14:31:43
>>941
「returnの場所がおかしい」と、一番の餌で釣れない933て一体。。。
963デフォルトの名無しさん:04/12/11 15:41:14
96のつぎだから97だろ?
964デフォルトの名無しさん:04/12/11 15:42:26
87と95が2本あったから次は99じゃないかな
965デフォルトの名無しさん:04/12/11 15:53:05
つぎはMEとかXPとかにしよう
966デフォルトの名無しさん:04/12/11 16:02:21
Windowsプラグラムでもいいですが、シングルクリックで起動する
.exe を作るにはどうすればいいのでしょう?
967デフォルトの名無しさん:04/12/11 16:04:23
968デフォルトの名無しさん:04/12/11 16:06:22
ダブルクリックで起動する環境で一つだけシングルクリックで起動するexeは
無理なのでしょうか
969デフォルトの名無しさん:04/12/11 16:22:15
>>968
クリックを検出したら起動すればいいのでは?
970デフォルトの名無しさん:04/12/11 16:29:22
次スレ

C言語なら俺に聞け! Part 97
http://pc5.2ch.net/test/read.cgi/tech/1102749965/l50
971デフォルトの名無しさん:04/12/11 16:35:09
その核となる部分はいかに書いたらいいか、ヒントだけでも良いんで
教えて欲しいです・・・
972デフォルトの名無しさん:04/12/11 16:36:26
シェルエクステンション
973デフォルトの名無しさん:04/12/11 16:44:59
ありがとうございました。
とりあえず、現段階の僕では無理だと悟りました。
974デフォルトの名無しさん:04/12/11 16:49:31
EXPLORER.EXEに与えるマウス・メッセージを、ラッパーを被せて
横取りする考え方なんかな。。。サブクラス化か。
975デフォルトの名無しさん:04/12/11 17:15:07
ダブルクリックせずに起動するウィルスでも書きたいんだろ
976デフォルトの名無しさん:04/12/11 22:31:46
教えてください。
入力した文字列を格納した配列のポインタを戻したいんですけど、警告がでました。
警告1:プロトタイプ宣言のない関数'input'の呼び出し。(関数 main)
警告2:コードは効果をもたない。(関数 main)
警告3:問題のあるポインタの変換。(関数 input)
ソース↓
#include <stdio.h>
#define MAX 256

char *input();

void main()
{
*input();
}

char *input()
{
char s[MAX];

printf("COMMAND:");
scanf("%s", s);

return s;
}
977デフォルトの名無しさん:04/12/11 22:33:29
#include <stdio.h>
#define MAX 256

char *input(void);

void main(void)
{
char *p=input();
}

char *input(void)
{
static char s[MAX];

printf("COMMAND:");
scanf("%s", s);

return s;
}
978デフォルトの名無しさん:04/12/11 22:41:20
973 :デフォルトの名無しさん :04/12/11 22:30:58
>>972
つ、釣られないぞ…

974 :デフォルトの名無しさん :04/12/11 22:31:16
>>972
マルチポストするな消えろ

975 :デフォルトの名無しさん :04/12/11 22:31:56
>>972
char *input()はですねー、char*型の返り値を返す、inputという関数の定義なんですよー にゃんにゃん
979デフォルトの名無しさん:04/12/11 22:44:06
977 :973 :04/12/11 22:33:21
>>972
お前が言いたいだろうことを最大限考慮してやった↓。
これがしたいんだろ?

#include <stdio.h>
#define MAX 256

char *input();

void main()
{
  char* p;
  p = input();
  printf("%s\n", p);
}

char *input()
{
  static char s[MAX];

  printf("COMMAND:");
  scanf("%s", s);

  return s;
}


980デフォルトの名無しさん:04/12/11 22:45:44
949 :デフォルトの名無しさん :04/12/11 21:42:51
初心者です。

参考書によって
void main() と書いてあるものと
int main() と書いてあるものの2種類ありますよね。
intにしてreturnしても、どこにも使われてないし
プログラムも問題なく動くので
全部voidでいいと思うんですが。

voidにしてはいけない理由でもあるのでしょうか。
981デフォルトの名無しさん:04/12/11 22:47:06
で、10種類マダー、チンチン
982デフォルトの名無しさん:04/12/11 22:55:47
>>980
結論: ない
983デフォルトの名無しさん:04/12/11 22:58:24
>>980
voidで書いてはいけないとはどこにも書いていない

と言い張る馬鹿はいますけど、int型にしておいて困る理由は何もないですね。
984デフォルトの名無しさん:04/12/11 23:01:29
>>983
LinuxやWindowsなどの上でのアプケーションではそうですねー^^ にゃんにゃん
985別スレ949=954:04/12/11 23:03:38
せめてこのスレまでで終わりにしてね。

いくら週末っていっても
埋め立てように投下したネタに対して
反応がよすぎるから。
986デフォルトの名無しさん:04/12/11 23:05:43
>>980
自分しか使わないならvoidでもかまわんけど
他人も使う場合はちゃんと作った方がいいと思う。
使い道がないなんて勝手に思い込まないように
987デフォルトの名無しさん:04/12/11 23:05:46
>>983
言い張ったら馬鹿とは、どこに書いてあったんだ?
988デフォルトの名無しさん:04/12/11 23:05:48
>>983
で、規格で決まってるというのどうなったんだよ?
989デフォルトの名無しさん:04/12/11 23:06:52
半可通あばれまくりープ
990半可通と呼ばれた男:04/12/11 23:08:47
ちょっとまてオレはあばれてないぞ
991デフォルトの名無しさん:04/12/11 23:08:55
voidで書くなとはどこにも書いていない=voidで書いてもいいじゃない

この理屈がまかりとおるならshortでもdoubleでもstruct hogeでも
好きな型でreturnすればいいじゃない
992デフォルトの名無しさん:04/12/11 23:09:43
>>991
だから、そうだよ
規格票を持っている者の発言には到底見えない
993デフォルトの名無しさん:04/12/11 23:09:50
その通り、処理系が認めていればなんでもいい。
ただし、コードの可搬性はなくなる。
994デフォルトの名無しさん:04/12/11 23:11:27
>>993
可搬性をどの程度持たせるべきかとは、全く別な議論だな
995デフォルトの名無しさん:04/12/11 23:12:22
> ただし、コードの可搬性はなくなる。
平気な感じでいう当たり、馬鹿だな。
996993:04/12/11 23:12:30
>>994
その通り。個人だったら個人で、団体なら団体で勝手に決めればいい。

ISO/IEC 9899:1999
5.1.2.2.1 Program startup
1 The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int and with no
parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be
used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;9) or in some other implementation-defined manner.
997デフォルトの名無しさん:04/12/11 23:12:42
>>980
JIS X3010:2003(いわゆるC99)ではこういう風に書いてある。(ISO/ANSIも同じだろう)

5.1.2.2 ホスト環境
5.1.2.2.1 プログラム開始処理
プログラム開始時に呼ばれる関数はmainとする。
処理系はこの関数に対してプロトタイプを宣言しない。
この関数は次の4種類の方法のいずれかで定義しなければならない。
1. int main(void);
2. int main(int argc, char *argv[]);
3. 上記2つの方法のいずれかと等価なもの。
4. 処理系定義

ちなみに5.1.2.1でフリースタンディング環境の場合プログラム開始時に呼ばれる関数は(戻り値の型・引数含め)処理系定義と書いてある。
998デフォルトの名無しさん:04/12/11 23:13:03
>intにしてreturnしても、どこにも使われてないし

プログラム作る前にパソコンの使い方ぐらい勉強しろよ
999999:04/12/11 23:14:01
999
また1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。