2

ファイルを stdin 入力 (要件の 1 つ) としてリダイレクトしようとしています。次の入力が空かどうか、または完了したかどうかを確認する方法がわかりません。

このようなもの

./a.out program < file.txt

だからここに私がやろうとしていることがあります。

char string[10];

while ( the input is NOT empty)
{
    scanf("%s",&string);
    printf("%s",string);
}

指定されたファイルは次のようになります

abc
abcd
abcde
abcdef
4

2 に答える 2

2

scanf次のようにすると、他に何も読み取れない場合にのみ停止します。

while( scanf("%s", string) != EOF ){
    printf("%s", string);

}

ところで、文字列をスキャンするために&、それは既にポインターであるため、利用できません。

于 2013-01-22T02:38:48.873 に答える
2

あなたは電話feofをかけることができますstdin

while (!feof(stdin)) {
    scanf("%s", string); // You do not need & for strings
    printf("%s",string);
}
于 2013-01-22T02:40:19.120 に答える