首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fputs和循环的奇怪行为

fputs和循环的奇怪行为
EN

Stack Overflow用户
提问于 2010-03-22 15:32:29
回答 4查看 1.8K关注 0票数 2

当运行下面的代码时,我没有得到任何输出,但是我找不出原因。

代码语言:javascript
复制
# include <stdio.h>

int main()
{
    fputs("hello", stdout);

    while (1);

    return 0;
}

如果没有while循环,它可以很好地工作,但是一旦我添加了它,我就得不到任何输出。当然它应该在开始循环之前输出吗?是不是只在我的系统上?我是不是必须刷新一些缓冲区之类的东西?

提前谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-22 15:35:33

你必须冲掉stdout。当您写入换行符时,会自动执行此操作。将fputs更改为:

代码语言:javascript
复制
fputs("hello\n", stdout);

或发送到:

代码语言:javascript
复制
fputs("hello", stdout);
fflush(stdout);
票数 8
EN

Stack Overflow用户

发布于 2010-03-22 15:35:45

我想问这个问题帮助我找到了答案。必须使用fflush(..)刷新

http://www.thinkage.ca/english/gcos/expl/c/lib/fflush.html

票数 1
EN

Stack Overflow用户

发布于 2010-03-22 15:36:03

fflush(stdout);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2490573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档