2

我正在尝试将文件重定向为标准输入(要求之一)。我不知道如何检查下一个输入是否为空或是否已完成。

像这样的东西

./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

您可以致电feofstdin

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