c - 如何检查下一个输入是否为空



我正在尝试将文件重定向为 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);
}

相关内容

  • 没有找到相关文章

最新更新