我做了一个程序,然后我用它从它的输出创建一个文件,现在我想让几个程序之一运行重定向该文件(或管道输出其他方案)。 我用下面的代码作为用于测试的第一程序错误管道/从窗口中的文件或命令重定向
int main (int argc, char* argv[])
{
long long int n = 0;
char str[100];
while (str != NULL)
{
fscanf(stdin,"%s\0", str);
printf("%lld\t%s\n", n, str);
n++;
}
return 0;
}
程序正确地执行,直到重定向的文件或管道输出的最后一行,然后保持无限repearing直到我停止与CTRL-C执行(视窗)。 我不知道为什么会发生这种情况,我尝试刷新标准输入,标准输出以及所有我想到的并且没有运气的东西。
我做错了或失踪?
在此先感谢。
'str!= NULL'永远不会是错误的。查看scanf文档以查看错误/流结束条件的情况。 – Mat