Linux下C编程中printf不加'\n'不输出

  调试linux下的socket程序时,发现服务器端收到的信息只有在客户端结束后才会显示收到的信息,但是如果在printf中加入换行符,就会立刻输出。原因是因为Unix系统一般有行缓存。而’\n’可视为行刷新标志。
只要把printf(“1”);改成printf(”1\n”);


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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章