2010-12-18 7 views
0
#include <stdio.h> 
main() 
{ 
    int c; 
    while ((c = getchar()) != EOF) 
    putchar(c); 
} 

上記のコードでは、どの文字がループを壊しますか?
私はC言語を新しくしています。私を助けてください。
また、何がそれは、このエラーの意味する:
codec5.c:8:2: warning: no newline at end of fileCで「ファイルの終わり」とは何を意味していますか?

+2

大文字で書かないでください。 – Shoban

+0

それは私だけですか?あなたの帽子ロックが正しく詰まっていますか? –

+0

あなたの投稿を編集して出血を止めました。 – SiegeX

答えて

0

エラーがファイルの末尾に改行を置くことによって解決されるサウンド(}の後ろにカーソルを置き、 Enterを押します)。

私はループがCtrl + Zで壊れていると思いますが、それについてはわかりません。

+1

特殊文字ではなく、ファイルの最後に到達するとループが壊れます。いくつかのレガシーの実装では、ファイルシステムの簿記情報にファイルの正確な長さを格納するのではなく、特殊文字マークを付けてエンドオブファイル(テキストファイル用)を実装していました。 –

+0

help.forヘルプ –

+0

最終的には...私は(プログラムを処理する方法)を意味します。 –

0

それはファイルの終わりを意味しstdio.hで定義された特別な定数です。

codec5.c:8:2: warning: no newline at end of file

あなたは、ファイルの末尾に\nを持っていないように:)

1

この警告は、ソースコードの最後に改行が必要であることを意味しています。ファイルの末尾にある}にカーソルを置き、Enterキーを押します。

ファイルから読み込んでいない場合は、プログラムを終了するために特定の文字をチェックする必要があります。プログラムにファイルをパイプ(|)(Windowsの場合<)すると、プログラムは終了するはずです。プログラムの名前がtest.exeで、入力ファイルがfoo.txtの場合は、test.exe < foo.txt(同じディレクトリにあることを確認してください)を実行してみてください。

+0

プログラムでファイルをパイプすることはできますか?..私はLinuxで作業していません。 –

+0

編集を参照してください上記( zsalzbank

+0

私はこれに関連する小さなコードを持っていますか? –

関連する問題