1 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 13:10:57 ] このスレは標準Cのみの限定スレです。 まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しましょう。 質問する前には最低限検索を。 エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。 C FAQ 日本語訳 www.kouno.jp/home/c_faq/ Cプログラマ必読 ・プログラミング言語C(通称 K&R) www.amazon.co.jp/exec/obidos/ASIN/4320026926/250-7563469-9920244 他の過去ログはここに nssearch.hp.infoseek.co.jp/clang/ 前スレ 【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 131 pc11.2ch.net/test/read.cgi/tech/1170338926/ GUIなどの標準Cではできない事の質問、ソース丸投げ、宿題、書籍 は 専門の別スレッド↓があるのでそこへさようなら。 【初心者歓迎】C/C++室 Ver.42【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1188748806/ C/C++の宿題を片付けます 95代目 pc11.2ch.net/test/read.cgi/tech/1187944110/ 【このスレ住人としての心得】 ビットシフトはなんの役に立つのでしょうか でググれ
267 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 22:26:38 ] ちなみに どっちかに自分のプロトタイプを置く方法は使いたくありません。 メンテが面倒なのでね。
268 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 23:10:53 ] よく使われるこのイディオムじゃ駄目? --foo.h #if !defined FOO_H #define FOO_H #include "bar.h" ...(本体) #endif -- --bar.h #if !defined BAR_H #define BAR_H #include "foo.h" ...(本体) #endif --
269 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 23:18:55 ] >>266 ,267 文面からすると、関数の呼び出しをヘッダ内で行っている(つまり「定義」を書いている)??? 通常は、ヘッダには、関数の[宣言のみ]書き、定義は別にするから、 互いに参照し合う必要はないはず。
270 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 23:41:32 ] うるさいなー もー C++だってインラインで定義してんじゃん 分けるの面倒なの!
271 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 23:44:20 ] >>268 それじゃダメだっつってんだろ
272 名前:デフォルトの名無しさん [2007/09/29(土) 00:10:39 ] 関数定義がヘッダで行われてるなら、 2つのソースファイルで同じヘッダを読み込んだ時点で 関数の2重定義でリンク通らなくなるだろ。 相互参照云々以前に根本的にバグってる。
273 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:18:55 ] >>272 ライブラリ使う側からなら何の問題もなし。 バグってるのはお前の頭。
274 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:25:01 ] >>273 コンパイル出来ない両ライブラリとライブラリを使ってる部分のソース一式どっかにアップするか 日本語勉強し直すか、どっちかにしてくれ。
275 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:26:01 ] わかんないなら引っ込んでろよ うぜー
276 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:28:43 ] 自分だってわからないことがあるから質問に来てるんじゃないのか? そう邪険にするなよ
277 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:29:25 ] いや、これが正解なんだけど
278 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:29:30 ] ヘッダに関数定義書くとかクソすぎだろマジで
279 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:29:39 ] 事故解決しました
280 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:37:26 ] ヘッダ2つの中身を一緒にしちゃえば? んで、片方は#include1行の適当なヘッダ名でっち上げる。 ソース管理楽だよ。
281 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:42:48 ] >>280 今まさにそうしてるんだよね 気持ち悪いから変えたかったんだけど いまのとこそれしか思いつかない ほんとアホばっかだなここ・・・
282 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 02:26:20 ] アホが多いのは否定しない。
283 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 02:30:16 ] どんだけバカなんだよ メンテが面倒だからプロトタイプ書かないとか 気持ち悪いなら他の言語使えば?
284 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 02:36:14 ] どう考えても釣りだろう
285 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 02:54:46 ] 心の底から言ってるんじゃね? そう考えると哀れみだけしか浮かんでこないので笑ってスルーできるよ。
286 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 05:58:54 ] そもそもこのスレで扱う内容なのか? プロトタイプ宣言と定義が一致しないとエラーになるISO/ANSI/JIS Cはおかしい K&R時代の仕様に戻すべきだとか?
287 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 06:37:27 ] むしろプロトタイプ宣言があれば凡ミスによるバグが減らせて保守が滅茶苦茶楽になるのにね。 機械にやらせられるところは極力機械にやらせるという発想がないやつはプログラマには向いてないな。
288 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 21:53:36 ] ファイルをアップロードするCGIをCで作ってます。 バウンダリ文字列で区切られたデータを切り出す際の定跡的な物はありますか?? いまは、 ・CRLFCRLFとなった時点をデータの始まり ・すべて書き込んだ後、CRLFまで戻ってそこをデータの終わりとする って感じでやってます。
289 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 22:04:13 ] >>288 Cの言語規約には含まれてはいないので、ご自由にどうぞ。
290 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 22:51:49 ] >>289 いや、規約というかテクニックを教えていただけたらと思いまして。。。
291 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 22:56:33 ] >>290 スレ違い。
292 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 00:16:29 ] 議題:このスレの存在意義について
293 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 00:17:49 ] もちろん規格の範囲内についてを扱う。 それがなんのことやら理解できないやつが>>292 みたいな疑問を持つ。
294 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 00:20:45 ] 低席(なぜか変換できない) 定石(じょうせき)
295 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 00:31:52 ] 定石は囲碁用語、定跡は将棋用語。 どちらもよみはじょうせき。 馬鹿の癖に無理に揚げ足とろうとするな
296 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 01:19:03 ] 将棋なんて知らないもん!
297 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 08:03:43 ] 288はネットワークプログラミングスレに誘導すればいいのか?
298 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 12:20:31 ] >>289 、>>291 >>288 の質問って結局 ---------------------hoge (ここがバイナリデータ部) ---------------------hoge-- ってフォーマットからデータ部を切り出すテクニック、ってことだよ。 これ追い返してたら何も質問できないだろw ネットワークプログラミングに誘導しても、向こうの住人も困るんじゃないか。 通信関係なら兎も角、タダの文字列処理だもんな。。。
299 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 12:25:29 ] >>298 ここは言語テクニックを語るスレでも初心者教習のスレでもありません。 標準Cでの仕様や実装を云々するスレです。 まして「データを切り出す際の定跡」と言った、言語に依存しない抽象概念を扱うスレではありません。
300 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 12:33:23 ] >>298 標準Cにおける文字列処理の質問じゃないでしょ。 少なくともhtmlについて殆ど何も知らない私にとって、>288に書かれた以外に データを切り出す手段があるかどうかなんて見当もつかない。 「こうこうこういうプロトコルで来るデータがある、どう切り出すべきか」というなら 話は別だが、>288を読む限り単なる初心者質問だからこの辺りで充分だろ。 -- C言語なら俺に聞け(入門篇) Part 19 pc11.2ch.net/test/read.cgi/tech/1190342593/ スレを勃てるまでもないC/C++の質問はここで 3 pc11.2ch.net/test/read.cgi/tech/1187521676/ 【初心者歓迎】C/C++室 Ver.43【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1190860744/
301 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:47:35 ] スレタイトルをそろそろ変えたほうがいいかもしれんね C規格なら俺に聞け! とか
302 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:55:20 ] C規格なら規格書嫁!とか まあ、「規格」とか「標準」とかって言葉をいれておいた方がいいかもね。
303 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 14:59:12 ] ISO/ANSI/JISがそういう意図を含んでいるはずだがね
304 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:00:57 ] 入門者がその意図をくめるはずもなく
305 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:13:30 ] 【ISO/ANSI/JIS以外の】 C言語なら俺に聞け! 【質問お断り!】Part 133 そもそも【】内を真面目に読む人少ないでしょ >>1 も読まれない、合致する質問もほとんど来ない 終了でいいんじゃね
306 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:14:16 ] >>305 どう考えても字数制限引っかかるだろうが。あほか
307 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:18:49 ] C言語なら俺に聞け(入門篇) Part 19 【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 132 上はコード質問可で、下は規約の解釈限定か。なかなか難しいなwww
308 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:20:03 ] そんなのにマジレスされてもなあ 頭大丈夫?
309 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:20:51 ] ごめんごめん >>306 の頭のことね
310 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:22:39 ] C言語規格議論厨隔離スレ でいいじゃん
311 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:29:56 ] つーかどう考えても ISO/ANSI/JIS これいらないだろ。 取っちゃえよ。 標準Cなら俺に聞け! テンプレ: Q標準Cって何?
312 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:32:31 ] 切れちゃった。まあいいや。 >>2 の心得とかも必要ない。誤解されるだけ。
313 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 15:43:43 ] そりゃそうだな。 そもそも定義にうるさいはずの連中がなんで「C言語」とか「標準C」とか「C」とか いちいち呼び方変えてるんだよ。 アホか。
314 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:00:31 ] >>305 >俺に聞け! で >質問お断り! はねえだろw
315 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:05:12 ] 【A】 B 【C】 とあったら、普通はBが正タイトルでACはサブタイ。ACは繋げて読む事が多い。 AやCに重みがあるスレはネタスレと決まっています。
316 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:10:12 ] 「標準C限定」ってのは、コーディングの際に標準Cを逸脱しないって 意味だと思ってたんだけど、違ってたんだな。 「標準Cそのものに関する質問限定」ってことだったんだねw
317 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:13:35 ] >>315 ここってネタスレだったんだ 納得ww
318 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:18:29 ] >>316 フツーに考えて、規約の質問だけでpart132まで行くはずもなく…… いつの間に乗っ取られたんでしょうね。
319 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:19:28 ] >>316 規約に全く関係ない質問なら、他に質問スレたくさんあるからそっちへ行ってくれればいい
320 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:20:44 ] >>319
321 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:28:23 ] 初めて家族でF1観戦をしてきたのですが、子供がバスの中でお漏らししてしまい 回りの皆様に迷惑をおかけしました、同乗していた方申し訳ありませんでした
322 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:30:36 ] >>321 最後のマッサやばかったなw あれは伝説に残る
323 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:40:04 ] この流れは>>294 を流そうとして必死なのか?
324 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 16:53:01 ] ビール 5000ペリカ カキピー 3000ペリカ オムツ 20000ペリカ
325 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 02:13:22 ] F1弁当 100000ペリカ
326 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 13:47:11 ] なぜここでゆでが
327 名前:デフォルトの名無しさん [2007/10/01(月) 14:20:03 ] 妙な流れで忘れ去られている >>250 だけど、 非負の値だけの場合 「二つの型において同じ値の表現は同じとする」(6.2.5 型) 負の値も含まれる場合 6.2.6 型の表現 の 6.2.6.2 整数型、により、負の値の表現は 処理系定義となっているので、結果は処理系定義 だと思う
328 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 21:28:59 ] 6.5.3.2 アドレスおよび間接演算子 正しくない値がポインタに代入されている場合,単項*演算子の動作は,未定義とする。 適合しない型のオブジェクトへのポインタが正しくない値と考えるなら未定義という こともできないかな? (83)の注釈にいくつか正しくない値の例があるがこれがすべてだとは言っていないようだ。
329 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 18:51:48 ] 内容: 作業時間48時間くらいで出来るC言語使った初歩レベルで作れるプログラムない? 都合よすぎかもしれないんだが、1年の節目としてなんか作れと先生に言われてるんだが いい案がまったく出てこない、そういう例をまとめたサイトとかあれば最高なんだが。
330 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 18:53:34 ] ちとコピペミスった申し訳ないorz 内容は時間内に作れれば何でもいいです。
331 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 18:55:47 ] echod
332 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 18:57:58 ] >>329 学生の1年目なら hit&blow 社会人の1年目なら 住所録(最大件数はメモリの許す限り無制限、10万件程度のデータに対して検索1秒以内) くらいかな?
333 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 19:39:45 ] >>330 >>1 を読め >>331 >>332 スレ違いに反応しない
334 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 20:52:49 ] 指定されたディレクトリとその下層にあるファイルの中から 指定された名前の関数定義を探し当てるプログラムというのはどうかなッ
335 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 20:59:58 ] >>333 申し訳ない。 >>331 >>332 ありがとうございます。
336 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:54:24 ] 宿題スレに行って他人の宿題盗ってくれば?
337 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 00:13:55 ] 後で苦労するのは俺だし授業で時間取ってくれてるからその時間暇になるわ。
338 名前:デフォルトの名無しさん [2007/10/11(木) 14:26:34 ] main() { int i; int a[2][10]; for( i = 0; i < 10; i++ ) { a[1][i] = i; a[2][i] = i; printf("i=%d j=%d\n",a[1][i],a[2][i]); } printf("\n"); printf("i=%d j=%d\n",a[1][1],a[2][2]); } Visual C++ 2005 Express Edition です。 これをコマンドプロンプトを使ってコンパイルすると、 結果表示後「問題が発生したため・・・」のエラーがでます。 どこかおかしいところはあるでしょうか? 下のprintf文2つは実行確認用です。
339 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 14:33:04 ] >>338 >a[2][i] = i; 範囲外
340 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 14:40:34 ] 「Visual C++ 2005 Express Edition です。」と断らなければいけない レベルの質問は基本的にはこのスレの対象範囲外
341 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 20:52:46 ] まあ内容自体は処理系関係ないがな。
342 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 20:53:42 ] だからこそ環境を書く時点でわかってない事の証左
343 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 13:27:48 ] fopenで開いているファイルの大きさを切り詰める方法を教えてください。 一時ファイルとして使ってるんですが、自前のデフラグで前に積めた時、 後ろのゴミを消したいので。
344 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 13:40:08 ] 「C言語」で引っかかるスレで質問できそうなのがここしか見つからないのが問題 限定的な話題扱うならスレタイ自重しろよボケが
345 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 13:54:09 ] なら、次スレからJISに合わせて「プログラム言語C」にするか
346 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 13:55:40 ] 〜なら俺に聞け がよくない。
347 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 14:19:14 ] 初心者お断りってスレタイで明言すればいいじゃん。きっと過疎って誰も来なくなるよ。
348 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 14:24:04 ] C言語なら俺に聞け(入門編)があるのになぜそっちに行かないんだろう
349 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 14:26:15 ] >>343 マルチすんな。あっちで回答しておいた。
350 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 14:26:48 ] >>347 願ったり叶ったり。
351 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 14:54:40 ] >>348 全角厨しか引っかからないな 愛用のかちゅ〜しゃで確認
352 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 15:10:16 ] >>351 JaneDoeViewだと引っかかるから気がつかなかったよ じゃぁこのスレも全角にすれば問題解決だな
353 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 17:14:58 ] 入門者のくせに「入門」で検索しないのか
354 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 19:43:13 ] 「入門」で検索って、しないでしょw 言葉使う側のオナニー
355 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 19:49:16 ] ほんとスレ立て下手糞だね。 毎回こんな事で揉めるのは双方不愉快になるし時間の無駄。 このスレの存在自体迷惑だし削除した方がマシだよ。
356 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:09:55 ] お前が立てればいいんじゃね?
357 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:10:16 ] じゃ、[標準C限定、C++不可、初心者お断り]ってスレタイに明記しとけ。
358 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 21:13:36 ] テンプレも読まない連中だから無駄な気もするな
359 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 22:17:28 ] >>355 >このスレの存在自体迷惑だし どんな迷惑を被ったのかkwsk
360 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 00:44:03 ] 調子こいて答えたら、規格に基づいて袋叩きにされた
361 名前:デフォルトの名無しさん [2007/10/15(月) 23:21:44 ] volatile int v1, v2; int x = v1 + v2; これは推奨できないらしいですが、 どういう理由なんでしょうか どうやらvolatile変数の参照は副作用を持つかららしいのですが、 具体的にどのようなケースがあるのでしょうか
362 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 23:25:55 ] >>361 式 v1 + v2 の v1 と v2 のどちらが先に評価されるか不定だから。
363 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 23:37:50 ] 言葉足らずでした おっしゃる通り、評価順が不定なのはわかったのですが、 v = f() + g(); みたいなケースは f()やg()内で副作用のある処理が行われたんだろうな〜 (グローバル変数をいじってるとか) と想像はつくのですが volatile変数の場合, v1とv2が評価順に依存しているケースがあるって事なんでしょうか その具体例が思い浮かばないです
364 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 23:40:03 ] >361 ググりましたが、volatile修飾子はコンパイル時の最適化を抑制する修飾子とのこと たぶん、排他制御の二重ロックなどの冗長に見える部分の最適化を止めたいのでは? DOSのシングルスレッドなプログラムしか組んだことないからよくわからないが… itref.fc2web.com/c/index.html#volatile
365 名前:364 mailto:sage [2007/10/15(月) 23:41:50 ] 質問の勘違いしてました。御免なさい m(_ _)m
366 名前:デフォルトの名無しさん [2007/10/15(月) 23:46:52 ] #include <stdio.h> #define N 5 int main(void){ int data1[]={1,3,5,7,10}; int data2[]={2,4,6,8,9}; int data3[]=0; int i = 0; int j = 0; if (data1[i] >= data2[j]){ data3[i + j] = data[i]; i++; } if (data2[j] > data1[i]){ data3[i + j] = data2[j]; j++; } else return 0; for (i=0;i<N;i++) printf("%d",data3[i]); return 0; } 何がおかしいですか?
367 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 23:47:42 ] >>366 int data3[]=0;