C言語なら俺に聞け(入門編)Part 63
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
700:デフォルトの名無しさん 10/05/04 19:11:45 fgets関数について質問です。 この関数はEOFに達するとNULLを返すとのことですが、 FILE *fp; char str[8]; while(fgets(str, 8, fp)){ printf("%s",str); } とやってファイルの内容を出力していった場合、最後はEOFが来てNULLが 返るので、最後のprintf1回が実行されないような気がするのですが、 そうではないようです・・・。それとも1文字ずつ判定してそのたびにprintfを 実行しているのでしょうか? 701:デフォルトの名無しさん 10/05/04 19:16:50 fgets内部の実装にもよるが、普通はバッファに一文字でも 書き込んだ状況でEOFが来てもフラグを設定するだけで NULLは返さず次回の同じFILE*にたいする呼び出し時に NULLを返す設計が取られるんじゃないかと... (標準仕様でもそれが期待されているようだし) 702:デフォルトの名無しさん 10/05/04 19:21:52 >>700 ファイルの終端に達している状態でfgets()を呼ぶとEOFを返す 703:デフォルトの名無しさん 10/05/04 19:22:50 >>700 意味を勘違いしてる 最後の文字までとりこむfgetsではNULLを返さず その次のfgetsでNULLを返すの
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4989日前に更新/245 KB
担当:undef