当运行下面的代码时,我没有得到任何输出,但是我找不出原因。
# include <stdio.h>
int main()
{
fputs("hello", stdout);
while (1);
return 0;
}如果没有while循环,它可以很好地工作,但是一旦我添加了它,我就得不到任何输出。当然它应该在开始循环之前输出吗?是不是只在我的系统上?我是不是必须刷新一些缓冲区之类的东西?
提前谢谢。
发布于 2010-03-22 15:35:33
你必须冲掉stdout。当您写入换行符时,会自动执行此操作。将fputs更改为:
fputs("hello\n", stdout);或发送到:
fputs("hello", stdout);
fflush(stdout);发布于 2010-03-22 15:35:45
我想问这个问题帮助我找到了答案。必须使用fflush(..)刷新
http://www.thinkage.ca/english/gcos/expl/c/lib/fflush.html
发布于 2010-03-22 15:36:03
fflush(stdout);
https://stackoverflow.com/questions/2490573
复制相似问题