[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 10/12 17:35 / Filesize : 240 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門篇) Part 12



1 名前:デフォルトの名無しさん [2007/05/08(火) 19:39:26 ]
C言語の入門者向け解説スレです。 
・C++言語はスレ違いです。 
・分からない事をなるべく詳しく書いて下さい。 
・ソースコードを晒すと答えやすくなるかもしれません。 
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 

前スレ 
C言語なら俺に聞け(入門篇) Part 11
pc11.2ch.net/test/read.cgi/tech/1176800483/

過去スレ
Part 1 ttp://pc8.2ch.net/test/read.cgi/tech/1146700389/ Part 2 ttp://pc8.2ch.net/test/read.cgi/tech/1153818463/
Part 3 ttp://pc8.2ch.net/test/read.cgi/tech/1160682950/ Part 4 ttp://pc8.2ch.net/test/read.cgi/tech/1162999861/
Part 5 ttp://pc8.2ch.net/test/read.cgi/tech/1165022193/ Part 6 ttp://pc10.2ch.net/test/read.cgi/tech/1167325490/
Part 7 ttp://pc10.2ch.net/test/read.cgi/tech/1170064980/ Part 8 ttp://pc11.2ch.net/test/read.cgi/tech/1171946674/
Part 9 ttp://pc11.2ch.net/test/read.cgi/tech/1173284217/ Part 10 ttp://pc11.2ch.net/test/read.cgi/tech/1174290325/

関連スレ
C/C++の宿題を片付けます 86代目
pc11.2ch.net/test/read.cgi/tech/1176996941/
くだすれC言語(初心者用) Part.2
pc11.2ch.net/test/read.cgi/tech/1172099763/
スレを勃てるまでもないC/C++の質問はここで 2
pc11.2ch.net/test/read.cgi/tech/1178503366/l50
はきだめC/C++下級者の質問箱 2
pc11.2ch.net/test/read.cgi/tech/1156206091/l50

【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html

237 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 14:58:57 ]
ミスった。

int add(int a, int b) {
 __asm {
  mov eax, a
  add eax, b
 }
}

238 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:02:00 ]
そういえば関数呼び出しの括弧も演算子なんじゃなかったっけ?

239 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:02:17 ]
>>222がなんでそんなことをしたくて何を「演算子」と呼んでいるかしらんが
if文だりなんだり使って全部作ればいいんじゃね
足し算なら1+1 = 2
だからa,bが両方とも1なら2を出力するというように
それらをすべて0〜9のを自分でつくる
あと桁上げの関数ももちろん自分で作って

240 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:03:27 ]
比較にも演算子が必要だな。

241 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:04:40 ]
if じゃなくて switch ならイケる。
ただ、コード量が多すぎて int 全部を網羅できないな。
char 程度ならともかく。

242 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:05:01 ]
switch しか無いな

243 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:05:06 ]
つまんないからもうやめていいよ

244 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:07:01 ]
お前らほんと数学分かってないんだな・・・
まじ小学校からやり直せよ

245 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:08:19 ]
>>235
そこにある=は初期化子であって演算子ではない。



246 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:12:47 ]
>>244
プログラミング言語において「演算子」が何を指すかを勉強し直してきてください。

247 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:13:17 ]
>>241
桁上げの関数作ればできるだろ
switchだって演算子を裏に隠しているだけに過ぎないし
ちなみに足し算とかってそもそも写像なんだから
なんでそんなことやりたいのかよくわからん
数学じゃなくてC言語で言う「演算子」は人間が勝手に付けた分類だから
それにこだわっても意味が無い
>>228のいうように少し数学を学んだほうがいい


248 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:13:39 ]
>>245
しかし残念 >>238

249 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:15:31 ]
>>247
何で数学の演算子にこだわるのか理解できないのだが。
ここは C 言語スレだぞ?

250 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:18:44 ]
元質問者出てこいよ
後出しで、四則演算子のことでした、とか言いそうだが

251 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:19:36 ]
>>222-250

252 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:20:53 ]
>>221
>演算子を使わないで割り算や掛け算ってどうやるんですか?たとえば9÷3
割り算や掛け算って言ってるけど

253 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:22:43 ]
>>222の問題意識が何なのかということだぁね

C言語だと同じことできるけどこれは演算子と呼ぶ
これはそう呼ばないだけの違いになってしまうから
C言語での「演算子」の意味にこだわって
わざわざ考えるほどの価値がある物と思えない
もし>>222がC言語において何を演算子と呼ぶのかをどうやって決めたか
知りたいとかなら別だけど

結局のところC言語での演算子と数学での演算子の区別すらつかずに
質問しちゃったってオチの気がするw

254 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:24:37 ]
C仕様書には区切り句で何らかの作用を起こすもの(代入とかな)を演算子とすると書かれてるんだから
演算子を使わずに何かをするなんて無理だろ

255 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:27:00 ]
ここは環境依存おkだから、
インラインアセンブラ使えばおk。



256 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:30:17 ]
2で割った剰余を取る演算て最近のコンパイラだと
勝手に0x01とのビットANDもしくはそれより速いコードに変えてくれるんでしょうか?

257 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:32:47 ]
>>254
てことはC言語の演算子は数学の演算子の定義に沿って定義されている
ということだな べんきょうになったw

258 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:33:27 ]
>>256
Yes.

259 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 15:36:31 ]
sizeof まで演算子だしなあ。

260 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:02:59 ]
(void)printf("ほげほげ");
と、printfまでキャストをする必要はあるのでしょうか?

261 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:04:21 ]
>>260
無い。そもそもintをvoidにキャストしてどうするんだ?

262 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:04:27 ]
>>260
ない。
ただし、戻り値を取得し忘れてるわけじゃなく明示的に捨ててるんだという意思表示として
(void)にする流儀はあるにはある。
好み、コーディングスタイルレベルの話。

263 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:05:26 ]
>>261
戻り値を使わないことを明示する効果がある。
lintのようなチェッカを黙らせる効果もあるな。

264 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:06:37 ]
そうそう、コーディング規約に「戻り値は必ずチェックすること」という項目があって、
それの評価を厳密に行なう運用の場合にもそうする必要があるね。

265 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:10:14 ]
>>263
lint対策か。それなら納得



266 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 16:57:40 ]
コンパイラにもよる。
たとえばFreescaleのCodeWarriorは(void)をつけないとwarningを出すのがデフォルト動作。

267 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:42:50 ]
int main(void){
  int a=1;
  kansu(a);
}
までやっておいて

@int kansu(int a){
  printf("%d",a*2);
  }
Aint kansu(int *a){
  printf("%d",a*2);
  }

@だと正常に動いたのですが、
Aだと「*」がダメだ〜 とコンパイラに怒られるのですが、
この違いとは何なんでしょうか?

268 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:45:51 ]
>>267
(2)の*は、意味も分からないで適当につけたの?

269 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:47:47 ]
int kansu(int *a){
  printf("%d",a*2);
  }
 ↓

printf("%d",*a*2);
       ↑
    これじゃね?

270 名前:デフォルトの名無しさん [2007/05/12(土) 18:50:45 ]
gets()関数で文章を読み取ってます。リダイレクションでメモ帳で作った文章入れると、改行のところ以降プログラムに読み込まれません。
どうしてでしょうか?改行があっても最後までいきたいんですが

271 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:52:22 ]
>>270
getsは改行文字までしか読み取らない
manにも書かれてる基本仕様

ついでにgetsを使うのは推奨されない

272 名前:デフォルトの名無しさん [2007/05/12(土) 18:53:05 ]
>>271
じゃあ代理のものとして、何を使ったらいいですかね

273 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:54:58 ]
>>268
気のせいかもしれませんが、
関数を定義してるプログラムを見ると多くが *a となっていたので、
違いを知りたいなと思って作ったプログラムなので、
かなり不備はあるかもしれません・・・。

>>269
Aの場合だと必ずメモリ関連でセグメントエラーか、警告が出続けてしまうんです。
試したところ、、、セグメントエラーが出ました。


274 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:56:55 ]
>>272
fgets(・・・, stdin)

275 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:58:02 ]
>>274
stdinっていうのはなんでしょうか



276 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:59:01 ]
>>272
>gets() を使うのは極めて危険である。(中略)代わりに fgets() を使うこと。
ttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/gets.3.html

これぐらい自分で調べろ

277 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 18:59:34 ]
>>273
コールするほうも
kansu(&a);
と変えないとだめだよ。

こういうところで試行錯誤してるなら、入門書を一冊買ったほうがだいぶ時間の節約になると思うけど。

278 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:00:09 ]
>>275
とりあえずググれや。

279 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:00:11 ]
>>273
int kansu(int *a) にするなら
int main(void){
  int a=1;
  kansu(&a); < &をつけなきゃ
}

280 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:01:56 ]
>>276
危険なんですね。
fgetsにしたら
呼び出し時のパラメータが足りない:fgets(関数 main )
ってなってコンパイルできないんですが・・・・

281 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:02:58 ]
>>280
ttp://www.bohyoh.com/CandCPP/C/Library/fgets.html
ちゃんと必要な引数を与えている?

282 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:04:35 ]
>>277,279
すごい納得できました。ありがとうございました。

入門書は・・・買ったんですが、、、馬鹿なので理解できない^^;

283 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:06:16 ]
>>281
なんかよくわからないんですが、
char型の配列に文章をいれたいんです・・・・

char bunsyo[256]
みたいなやつにです

284 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:07:28 ]
>>283
fgets(bunsyo, 255, stdin)

285 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:08:16 ]
>>283
gets()をfgets()に変更するくらいの手続きを自分で考えられない(≒検索できない)なら、
プログラマに向かないからとっとと諦めた方がいいよ。



286 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:09:04 ]
>>284
ダウト。慣用句的にそれを使っているのなら、
一度マニュアルページをよく読んで自分の過ちに気付いておいた方がいい。

287 名前:デフォルトの名無しさん [2007/05/12(土) 19:09:56 ]
>>284
コンパイルはとおるんですが、改行のところで読み込みがおわってしまうんですが・・・・

288 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:10:09 ]
>>284
第二引数Nはバッファサイズだろ
読み込まれる文字数最大値はN-1

289 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:10:27 ]
>>286
ダウト。説明なしにそういうことを言うのはお前の知ったかに過ぎない

290 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:11:12 ]
>>287
fgets()も、改行までしか読まない。
だから、マニュアルページを読むなり情報を検索できないなら無駄だから諦めろって。

291 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:11:56 ]
>>288
gdgdいってねーで正解を書いたら?知ったかへぼプログラマーwwww
N-1そうだよ?何か?まさか、254 にしろとかボケないだろうね?

292 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:12:48 ]
>>290
読み込むテキストに工夫がいりますかね?

293 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:13:06 ]
>>289=>>291か?
ファビョってんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。

294 名前:本日の知ったか馬鹿第一号 [2007/05/12(土) 19:13:27 ]
288 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:10:09
>>284
第二引数Nはバッファサイズだろ
読み込まれる文字数最大値はN-1

295 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:13:42 ]
暇だからプログラム組もうかな
でも、モチベーションが・・・・・
なにか練習問題でものってるサイトないか?



296 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:14:33 ]
>>292
テキストファイルを丸ごと読み込むには、
・fgetc()で一文字ずつ
・fgets()で一行単位で
・fread()でブロック単位(或いは一気に)
読む必要がある。

297 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:14:34 ]
>>291
だから>>283の宣言なら、普通にfgets(bunsyo, 256, stdin);でいいだろ
なんでバッファのラスト1バイトを無駄にしてんだよ


>>292
ループ回して一行ずつ読み込む

298 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:14:44 ]
>>287
宿題スレで、ファイル全部読み込むコード書いてくださいって言ったほうがいいんじゃね?


299 名前:デフォルトの名無しさん [2007/05/12(土) 19:14:47 ]
>>276とかこのスレにいらねーだろ。このスレが何なのかわかっていないのに
まだ勉強中の知らない奴を見つけて、自分が知っていることをひそかに自慢しながら
他人をたたく基地外だろ。ここでレスしているほかの奴にとっては迷惑千万、失せろクズプログラマー

300 名前:デフォルトの名無しさん [2007/05/12(土) 19:15:52 ]
>>293
>そこまで分かってて正解が判らないような屑が
自分が指摘したのに答えられない(勘違い)クズこそ来るなよw
お前はまったく指摘をしていない。ただたんに 自分が思った ことと違っていただけ。
それもお前が間違えているという勘違い(プ
不適切なら正しい使い方を明示しろ、たぶんお前じゃできない。あれは間違っていないからw

301 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:15:56 ]
ファイルのサイズがわかってるなら、適当な大きさのバッファを用意して、
fread()でもいいけどな。

302 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:16:07 ]
人間の屑よりはマシだな

303 名前:デフォルトの名無しさん [2007/05/12(土) 19:16:58 ]
>>296
うーん。めんどくさそうですね。テキストファイルの改行をなくしちゃいます

304 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:17:35 ]
>>300
あのね、坊やみたいなお子ちゃまはこんなところに来ちゃダメよ。
既に正解レスがついているんだからもっと落ち着きましょうね。

305 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:18:10 ]
お前ら邪魔



306 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:18:18 ]
>>299
自分で考えよう、調べようって姿勢が見えたら、頭わるそうなヤツでもけっこう親切に教えてもらえるよ。
ただ「わからない、を即答せよ」ってだけじゃ教えてもらえない。

307 名前:デフォルトの名無しさん [2007/05/12(土) 19:19:32 ]
>>293
揚げ足取りにもならなかったな、所詮お前はわかっていない(っと自分が思った)奴をたたくだけか
二度とくるな、お前みたいなクズこそこのスレにはいらない。このスレのタイトル読めますか?
あっ、日本語も日本の社会もろくに知らない在日かw

308 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:20:15 ]
まぁ、fgets()の慣用句はfgets(buf, sizeof(buf), stdin)だがな。
仮にもプログラムを組もうというときに、きちんと調べる手間を惜しんじゃ遺憾な。

309 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:20:18 ]
以下、キモメンメガネデヴピッツァのきめ台詞が出るまでお待ちください


310 名前:デフォルトの名無しさん [2007/05/12(土) 19:20:38 ]
>>304
あのね、小学生未満の精神年齢のお子ちゃまはこんなところに来ちゃダメよ。
勘違いの指摘レスがついているんだからもっと落ち着きましょうね♪
んで、何が間違いか、指摘できた?正解がとかじゃなくてw

311 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:21:38 ]
「屑」対「クズ」か。どっちが半島人かは火(病)を見るより明らかだな。

312 名前:デフォルトの名無しさん [2007/05/12(土) 19:22:26 ]
>>284は単なる入力ミスだろ。それだけでここまで お前はあほだ! みたいな
プレッシャーをかける基地外ってプログラマーに向いてねーよなwwwwww

313 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:22:47 ]
>>309
半島人がでてきたぞ。

314 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:23:23 ]
>>282
だったらその本は自分に向いていなかったと諦めて、
ちょっと立ち読みして、ほかに良さそうな本を探して買えばいい。

315 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:23:36 ]
くずはくずかごに入っとけ。

それより早く>>295に答えてください。



316 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:24:33 ]
>>311 地球上のカス以下の  お  前  が  言  う  な  wwwwwwww
っつーか、揚げ足取り必死だなw
そんなんじゃ本当にプログラマーに向いてねーよ、その程度のことでガミガミ
相手を罵倒するようじゃ、そんな奴こそこんなスレに来ないほうが良いだろ。
気分が悪くなるものを敢えてみてゲロを吐いているマゾかい?w
グロ動画でも貼ってやろうか?w

317 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:24:59 ]
おお、新展開。今度の攻撃は「単なる入力ミス」ですw

>>315
宿題スレに未解決の宿題が幾つかあるんじゃない?
下手なサイト見るより勉強になりそうですよ。

318 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:29:25 ]
freadでも使えば。

319 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:30:13 ]
>>317
ほらな、そういうことで相手をチクチクつついて周りの気分も害しているだろ?
だからお前みたいなつまらねークズはプログラマーに向いてないから
頼むから大掛かりなプロジェクトには絶対に介入するなよ。
っつーか協調性がなくて無理だろうね、お前みたいなちっぽけなクズはw
ちなみに、あの程度の間違いならさらっと 256 って書けば済んだ話だろ。
お前わかってねー!間違えたへへーん馬鹿!とか罵倒する方が頭がイカレてんだろ。
そういう奴に限って、自分の間違いを指摘されると、認めないどころか
お前がおかしい!って言い始めるから困るぜ ヤレヤレ

以後、さっきからきんもぉ〜★な指摘するだけで答えを出さない基地外は放置よろ
たぶん引きこもりニートだろ

320 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:30:36 ]
>>318
>296
>301

321 名前:こいつさいこーに協調性のない引きこもりwww mailto:sage [2007/05/12(土) 19:32:14 ]
317 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:24:59
おお、新展開。今度の攻撃は「単なる入力ミス」ですw

293 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:13:06
>>289=>>291か?
ファビョってんじゃないよ。
そこまで分かってて正解が判らないような屑がこの板なんかに書くんじゃないよ。

297 名前:デフォルトの名無しさん 投稿日:2007/05/12(土) 19:14:34
>>291
だから>>283の宣言なら、普通にfgets(bunsyo, 256, stdin);でいいだろ
なんでバッファのラスト1バイトを無駄にしてんだよ
なんでバッファのラスト1バイトを無駄にしてんだよ
↑こういう嫌らしい言い方をするだろ?
だから日ごろ嫌われていることに気づかない仲間はずれなんだろうからこんな場所で
匿名性を利用して自分より知識の乏しい弱者相手に強気になれるんだろうねw


322 名前:284 mailto:sage [2007/05/12(土) 19:34:14 ]
>>284はただの入力ミスです ♠
56としたつもりが同じキーを2回押して書き込みしちゃっただけでぇ〜〜〜す ♣
あぁ〜〜いとぅいまてぇ〜〜ん、文字配列のサイズを指定するように、ここでレスする以外の
自分が書くソースでは sizeof 使ってまぁ〜〜〜つ ♥

323 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:36:19 ]
char s[256];
size_t size=sizeof(s)/sizeof(s[0];
sizeof(s,size,stdin);
こんな感じでぇ〜〜どぉ〜〜〜でちゅかぁ〜〜?♦

324 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:37:15 ]
あちゃぁ〜〜、今度はsizeofの閉じ括弧忘れちゃいまちちゃぁ〜〜〜
あぁ〜〜〜いとぅいまちぇぇ〜〜〜〜ん ♪

325 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:39:29 ]
fgetsの仕様って
buf[BUFFER_SIZE];
fgets(buf, BUFFR_SIZE, stdin);
とかするためにこんな仕様になってるんでしょうか?



326 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:43:07 ]
こんな仕様が何を指すのかわからん。

327 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:44:52 ]
>>325
そう

328 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:46:54 ]
>>325
fgets()の他にも、strftime(), snprintf()も同じように格納バッファサイズを指定して、
それよりも少ない文字数しか格納しないような仕様になっている。


329 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 19:50:27 ]
なるほど、文字列の最後が\0で終わるからその分余計に取らないと駄目だからか

330 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:11:00 ]
普通にsizeof使えば、悩むことなんて何もないのに

331 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:20:56 ]
>>330
getsもsizeof使って実装すれば何の問題もないのに、と思っていたりする?

332 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:22:21 ]
まず、おまえさんが何が言いたいのか分からん。

333 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:22:29 ]
333 gets!

334 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:37:37 ]
つまり、まぁ、こういうこと

int main(void)
{
exit 0;
}

335 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:38:31 ]
d.hatena.ne.jp/keyword/%A5%B2%A5%C3%A5%C4
お前らほんっとうにこれが好きなんだな



336 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:39:50 ]
くだらなすぎ

337 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 20:54:40 ]
標準入力から読み込みたいけどサイズとファイルポインタ指定が面倒ってことなら
自分でfgetsをそれらを決め打ちした状態で呼び出す関数作ればいいんでは






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<240KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef