我正在尝试将文件重定向为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
答案 0 :(得分:2)
如果您执行以下操作,则只有在scanf
无法读取任何内容时才会停止。
while( scanf("%s", string) != EOF ){
printf("%s", string);
}
顺便扫描字符串,我们无法使用&
,因为它已经是指针。
答案 1 :(得分:2)
您可以在stdin
上致电feof
:
while (!feof(stdin)) {
scanf("%s", string); // You do not need & for strings
printf("%s",string);
}