码迷,mamicode.com
首页 > 系统相关 > 详细

linux编程中printf显示不加换行的缓冲问题

时间:2016-08-19 22:09:04      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

最近在编写linux网络编程时,总是遇到这样的事,程序逻辑没错误,但是程序运行到某个地方就停在那里了,后来才发现在prinrf()中加入换行能正常运行了,如“ printf("123"); ”改成“ printf("123\n"); ”就好了

 

慢慢的找到了一篇博文可以解释这个问题:博文链接:http://blog.csdn.net/ferlansue/article/details/7925522

 

解释如下:

printf会把东西送到缓冲区,而如果缓冲区不刷新到话,你便不会在屏幕上看到东西,而能导致缓冲区刷新到情况有这些:

1 强制刷新 标准输出缓存fflush(stdout);
2,放到缓冲区到内容中包含/n /r ;
3,缓冲区已满;
4,需要从缓冲区拿东西到时候,如执行scanf;

linux编程中printf显示不加换行的缓冲问题

标签:

原文地址:http://www.cnblogs.com/zl-graduate/p/5788958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!