码迷,mamicode.com
首页 > 编程语言 > 详细

c++中cout<<未刷新缓冲区及未遇endl便输出的问题

时间:2017-06-13 17:08:09      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:解决   返回   ++   输入流   显示   程序   main   设置   刷新   

今天在mac的xcode上直接写cout<<未遇到enl以及未刷新缓冲区数据就不能输出。

记得以前在vs以及g++上都会直接输出,之后查阅的c++输入输出缓冲区刷新的问题,解决了这个矛盾。

缓冲区清空的情况:

1.程序正常结束。作为main返回工作的一部分,将清空所有的输出缓冲区。

2.在一些不确定的时候,缓冲区可能已经满了,在这种情况下,缓冲区将会在写下一个值之前刷新。

3.用操纵符显示地刷新缓冲区,如用endl。

4.在每次输出操作执行完毕后,用unitbuf操纵符设置流的内部状态,从而清空缓冲区。

5.可将输出流与输入流关联起来,在读输入流时将刷新其关联的输出缓冲区。

 

即上述第3点vs和g++在未判断缓冲区已满便清空缓冲区将程序输出。

c++中cout<<未刷新缓冲区及未遇endl便输出的问题

标签:解决   返回   ++   输入流   显示   程序   main   设置   刷新   

原文地址:http://www.cnblogs.com/-0707/p/7001226.html

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