c++中cout<<未刷新緩衝區及未遇endl便輸出的問題

今天在mac的xcode上直接寫cout<<未遇到enl以及未刷新緩衝區數據就不能輸出。c++

記得之前在vs以及g++上都會直接輸出,以後查閱的c++輸入輸出緩衝區刷新的問題,解決了這個矛盾。xcode

緩衝區清空的狀況:code

1.程序正常結束。做爲main返回工做的一部分,將清空全部的輸出緩衝區。it

2.在一些不肯定的時候,緩衝區可能已經滿了,在這種狀況下,緩衝區將會在寫下一個值以前刷新。程序

3.用操縱符顯示地刷新緩衝區,如用endl。數據

4.在每次輸出操做執行完畢後,用unitbuf操縱符設置流的內部狀態,從而清空緩衝區。co

5.可將輸出流與輸入流關聯起來,在讀輸入流時將刷新其關聯的輸出緩衝區。工作

 

即上述第3點vs和g++在未判斷緩衝區已滿便清空緩衝區將程序輸出。

相關文章
相關標籤/搜索