今天在mac的xcode上直接写cout<<未遇到enl以及未刷新缓冲区数据就不能输出。c++
记得之前在vs以及g++上都会直接输出,以后查阅的c++输入输出缓冲区刷新的问题,解决了这个矛盾。xcode
缓冲区清空的状况:code
1.程序正常结束。做为main返回工做的一部分,将清空全部的输出缓冲区。it
2.在一些不肯定的时候,缓冲区可能已经满了,在这种状况下,缓冲区将会在写下一个值以前刷新。程序
3.用操纵符显示地刷新缓冲区,如用endl。数据
4.在每次输出操做执行完毕后,用unitbuf操纵符设置流的内部状态,从而清空缓冲区。co
5.可将输出流与输入流关联起来,在读输入流时将刷新其关联的输出缓冲区。工作
即上述第3点vs和g++在未判断缓冲区已满便清空缓冲区将程序输出。