今天在mac的xcode上直接寫cout<<未遇到enl以及未刷新緩衝區數據就不能輸出。c++
記得之前在vs以及g++上都會直接輸出,以後查閱的c++輸入輸出緩衝區刷新的問題,解決了這個矛盾。xcode
緩衝區清空的狀況:code
1.程序正常結束。做爲main返回工做的一部分,將清空全部的輸出緩衝區。it
2.在一些不肯定的時候,緩衝區可能已經滿了,在這種狀況下,緩衝區將會在寫下一個值以前刷新。程序
3.用操縱符顯示地刷新緩衝區,如用endl。數據
4.在每次輸出操做執行完畢後,用unitbuf操縱符設置流的內部狀態,從而清空緩衝區。co
5.可將輸出流與輸入流關聯起來,在讀輸入流時將刷新其關聯的輸出緩衝區。工作
即上述第3點vs和g++在未判斷緩衝區已滿便清空緩衝區將程序輸出。