【发布时间】:2017-01-07 02:51:31
【问题描述】:
我有以下代码:
#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");
}
我希望我的程序等待标准输入文件的更改。我将它创建为空白,但它返回 0。
如果一个 put 像一个 'a' 字符在里面,它会打印 97。
如何让 scanf 等待文件中的更改,就像它在等待我在终端窗口中写入一样?
【问题讨论】:
-
你为什么要关闭标准输入?你可能想看看这个答案:stackoverflow.com/a/5925575/1212725。您可能还想检查 fclose 的返回码。
-
你想在你的文件中写入,然后你的程序读取你写的内容?有点像你在终端做的?
-
@GabrielPellegrino 是的,这是我的想法
标签: c