C言語の質問スレッド<42>
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG問題をちゃんと切り分けて、Cの話かそうでないか洗ってから質問してくれ。
というより、聞く前に一応 Web で検索しろ。
コンパイラを探してるなら >>2 を見ろ。
過去ログ(DAT落ちあり)なら>>3-100あたりにあるかも。
GUIとか、C標準でできない事の質問は使ってる開発環境のスレに逝ってくれ。
ソース丸投げ、宿題、書籍 は専門の別スレがあるからそこへ逝ってくれ。
未定義・処理系依存ネタはご遠慮ください。
誰かが(故意にではなく)それらの書き込みをしても、いちいち突っ込まないでください。
規格オタクはこのスレッドには必要ありません。論争したかったら独自にスレッドを立ててそこでやってください。
C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
comp.lang.c FAQ(英語の原文)
http://www.eskimo.com/~scs/C-faq/top.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
推薦図書/必読書のためのスレッド PART6
http://pc3.2ch.net/test/read.cgi/tech/1033207156/
前スレ <41>
http://pc3.2ch.net/test/read.cgi/tech/1036876790/
0367デフォルトの名無しさん
NGNGif(fgets(...))でいいだろ。
0368デフォルトの名無しさん
NGNGif (fgets(...))
0369デフォルトの名無しさん
NGNGおまいは自分で分りにくいと主張しておきながら
whileでは使うんだろ?
まるきり矛盾じゃないか。
0370デフォルトの名無しさん
NGNG読みましたが何か?
0371デフォルトの名無しさん
NGNGわかりにくいから出来るだけ分けて書くようにする
それ以上のことは言ってないが?
0372デフォルトの名無しさん
NGNGああ、しぶしぶ使うってことね。
了解。
0373デフォルトの名無しさん
NGNG便利だから・・・
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNG冗談だろ(w
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGネタか?もう寝ろや
0378デフォルトの名無しさん
NGNG冗談じゃないが・・・
while(fgets(...))、for(...;fgets(...);...)もよく書く。
普通しないのか!?
0379デフォルトの名無しさん
NGNG便利だから使うっていうのは矛盾であることを否定したことにはならないのだが。
0380デフォルトの名無しさん
NGNG内部表現が0であるわけでも、値が等しいわけでもないが、
整数の0とポインタを比較するときは0はnull pointerとみなされる。
また、ifやwhileの条件ではnull pointerは偽となる。
0381デフォルトの名無しさん
NGNGだからFAQ嫁って。
0382デフォルトの名無しさん
NGNGセンスの無いスレ名だな。
0383デフォルトの名無しさん
NGNGワラタ
おまえらちょっと何行かコード書いてみろよ。
fp,buf使ってファイル読み込んで内容を表示するコードをさ。
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGwhile ( fgets(buf, BUFLEN, fp) ) printf( "%s", buf );
0386デフォルトの名無しさん
NGNG利用するのは、分りやすいとはいえない。
条件には、
・真偽値として使う変数
・比較演算子の結果
のみを使うのが分りやすい。
while (i--) なんてのは最低だ。
0387デフォルトの名無しさん
NGNGスッキリ見やすいですね。
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNG>>ifやwhileの条件で「0以外は偽」「null pointer以外は偽」を
マジ頭大丈夫か?
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNGおおむね賛成だが、論理式としては
・真偽値を返す関数
・!論理式
もありだろー。
0392デフォルトの名無しさん
NGNGうん。まちがえた。
0393デフォルトの名無しさん
NGNG何かあったらすぐFAQ読めって、お前はFAQの回し者か?
0394デフォルトの名無しさん
NGNGそれをぱっと見て、例え仕様を知らなくても、なにが脱出条件なのか
すぐに見当がつかないような「あほ」がPGなんかやってるか?
0395デフォルトの名無しさん
NGNGうわ。()の内側に空白あけてることからも分る通り、
あまりにもDQNなコード...
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNGわかりやすさの話をしてるんだが。
0398デフォルトの名無しさん
NGNGうわ。括弧を全角で書いていることからも分かる通り、
あまりにもDQNな奴...
0399デフォルトの名無しさん
NGNG十分わかりやすいぞ
0400デフォルトの名無しさん
NGNG自分で分かりにくいと思っているからそういうコメントになるわけだが。
やっぱり「なにが脱出条件なのか すぐに見当がつかないような」コードなんだね。
0401デフォルトの名無しさん
NGNGだから、それを「わかりにくい」と思うような人間が
PGなんかやってるのかよ・・・世も末だなオイ・・・
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNGダメか?見易いと思うんだが。
てか Gtk+ のソース読んでたことあるから
染み付いちゃったんだよね
0404デフォルトの名無しさん
NGNGがわかりやすいなら、同じ理屈で
if (!(fp = fopen(...)))
も分りやすいことになるね。
0405デフォルトの名無しさん
NGNGポインタです。
0406デフォルトの名無しさん
NGNGポインタも「真」または「偽」だよね?
0407デフォルトの名無しさん
NGNGif (!fp)
のほうがいい。
0408デフォルトの名無しさん
NGNG当然だ。
どっちもわかりやすい。
0409デフォルトの名無しさん
NGNGだからそれは2行に分けれるだろーが
頭悪過ぎ
0410デフォルトの名無しさん
NGNGきみは
result = fgets(...)
if (result)
と書くのかね。
0411デフォルトの名無しさん
NGNGぜったいこいつアホだ
0412デフォルトの名無しさん
NGNG>>410 のように分けれるよ。
0413デフォルトの名無しさん
NGNGわざわざ変数をつかうことはない。
0414デフォルトの名無しさん
NGNGわざわざここでするなよ。
0415デフォルトの名無しさん
NGNG矛盾が明らかになりました(激藁
0416デフォルトの名無しさん
NGNG>>1がむかつくからさっさと終了したいんです。
0417デフォルトの名無しさん
NGNG分りやすくなるなら、それくらいやるべきだろ。
もー矛盾しまくり。
0418デフォルトの名無しさん
NGNG二人いるみたいだが
0419デフォルトの名無しさん
NGNGあんたは何人いるの?
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNGそんな頭悪いレベルの話なの?
0422デフォルトの名無しさん
NGNGじゃおまいはこう書け
if (!(len = strlen(str), buf = (char *)malloc(len+1)))
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGワラタ
0425デフォルトの名無しさん
NGNGif (!buf)
0426デフォルトの名無しさん
NGNG頭が悪いのはお前。
0427デフォルトの名無しさん
NGNG頭わるっ!
俺は「何でも一緒にしたい」んじゃないの。
「代入と、その値の利用をいっしょにしても良い」と言ってるの。
strlenをifにいれる意味がどこにあるんだよタワケ(藁
0428デフォルトの名無しさん
NGNGすでに>>421が捨てゼリフを吐いています(w
0429デフォルトの名無しさん
NGNGif ではやらない方が分かりやすくない?
0430デフォルトの名無しさん
NGNGならオッケー。
0431デフォルトの名無しさん
NGNGでもfgetsだって代入だよ?
0432デフォルトの名無しさん
NGNG0433デフォルトの名無しさん
NGNGわりぃ。じゃこうだな
if(!(buf = (char *)malloc((len = strlen(str))+1))
0434デフォルトの名無しさん
NGNGwhile ((c = getchar()) != EOF)
もなしか?
0435デフォルトの名無しさん
NGNGでもfgetsだって代入だよ?
0436デフォルトの名無しさん
NGNG宗教戦争
http://pc3.2ch.net/test/read.cgi/tech/1031355713/
0437デフォルトの名無しさん
NGNGそのlenを何に使うんだ?
0438デフォルトの名無しさん
NGNGいやstrdup使うけど(w
0439デフォルトの名無しさん
NGNGmemcpy()
0440デフォルトの名無しさん
NGNG0441デフォルトの名無しさん
NGNG俺の負けだ! もう寝る!
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNGそうやっていつも極論を出す。
やる必要があるときとやらなくてもいい時を分けて考えろ。
0444デフォルトの名無しさん
NGNGスピード命
0445デフォルトの名無しさん
NGNG解散した。
0446デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNGgtk_signal_connect(GTK_OBJECT(some_widget), "some_event",
(GtkSignalFunc)callback, (gpointer)data);
この糞長い関数を一行(80列)で書くエレガントな方法ってあるかい?
あったら烈しく教えて欲しいんだが。
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGないな。なんで2行に分けるのイヤなの?
0450デフォルトの名無しさん
NGNG#define GO GTK_OBJECT
#define GSF GtkSignalFunc
#define GP gpointer
0451デフォルトの名無しさん
NGNGまだ一行で書くとエレガントだと思っている奴がいるのか。
0452デフォルトの名無しさん
NGNGif(!(buf=(char *)malloc((len=strlen(fgets(str,MAX_LEN,fp)?str:""))+1)))
0453デフォルトの名無しさん
NGNGコーディングの意図が明確に即時にトレースできることが重要で、
見た目の長さは関係無いと思うが。
>>450みたいな真似をして、あとから見た奴がワケワカ状態になる
ほうがよっぽどとんでもないよね。
0454デフォルトの名無しさん
NGNGところで、直前までの論争は
fp = fopen(...);
if(!fp)
は OK だが
result = fgets(...);
if(result)
はクソという結論でよろしいか?
0455デフォルトの名無しさん
NGNG7行で書くとエレガントだと思っている奴はいます。
0456デフォルトの名無しさん
NGNGそんなもんどっちでもいい
0457デフォルトの名無しさん
NGNGさっきからいるくせに
0458デフォルトの名無しさん
NGNGresult が if の判定にしか使われなかったらな。
0459デフォルトの名無しさん
NGNGresult = fgets(...);
if(result)
これがクソなのは間違いない
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNGうーん、そりゃそうだな。
しょうがないか。
0462デフォルトの名無しさん
NGNGだったらスペースでも書き込め。
0463デフォルトの名無しさん
NGNG"some_event",
(GtkSignalFunc)callback,
(gpointer)data);
0464デフォルトの名無しさん
NGNG0465デフォルトの名無しさん
NGNGアフォ
0466デフォルトの名無しさん
NGNGちなみに
GTK_SIGNAL_FUNC(callback)
のほうが良かったかと
■ このスレッドは過去ログ倉庫に格納されています