我正在尝试将文件重定向为 stdin 输入(要求之一)。我不知道如何检查下一个输入是否为空或是否已完成。
像这样的东西
./a.out program < file.txt
这就是我要做的。
char string[10];
while ( the input is NOT empty)
{
scanf("%s",&string);
printf("%s",string);
}
给定的文件看起来像这样
abc
abcd
abcde
abcdef
如果您执行以下操作,则仅当scanf
无法读取其他任何内容时,它才会停止。
while( scanf("%s", string) != EOF ){
printf("%s", string);
}
顺便说一下,扫描字符串我们不能使用&
因为它已经是一个指针。
您可以在stdin
上调用feof
:
while (!feof(stdin)) {
scanf("%s", string); // You do not need & for strings
printf("%s",string);
}