我有以下代码:
#include <stdio.h>
int main()
{
char c = 0;
fclose(stdin);
stdin = fopen("newin", "r");
if(stdin != NULLL)
{
scanf("%c", &c);
printf("%d", c);
}
else
printf("Error");
}
我希望我的程序等待stdin文件的更改。我把它创建为空白,但它返回0.
如果像一个&#39; a&#39;它中的char就像它应该打印97一样。
如何让scanf等待文件中的更改,就像等待我在终端窗口中写一样?
答案 0 :(得分:1)
如何让scanf等待文件中的更改,就像等待我在终端窗口中写一样?
你不能。
来自stdin
的输入和来自磁盘的文件的处理方式不同。当您从文件中读取文件时,文件必须按顺序排列,然后才能打开文件进行读取。