據我所知,在默認情況下通過C++支持的所有流IO被緩衝。C++緩衝流IO
這意味着要輸出的數據被放入緩衝區,直到它滿,然後發送到輸出設備,同樣輸入,數據讀取一次緩衝區是空的......這一切是這樣做的昂貴的系統調用次數可以最小化。
但如何驗證行動這一行爲。我的意思是考慮下面的代碼
int main()
{
cout << "Hello world\n";
return 0
}
這裏緩衝進入圖片在哪裏?我知道有緩衝發生,但如何解釋它?輸出在屏幕上立即可見,那麼實際上可以看到緩衝I/O的實際代碼示例呢?
在cout的情況下,緩衝區是1個字節。當您讀/寫文件時,真正的緩衝進入播放。 – 2012-07-09 09:42:12
@Anubis先生你是怎麼做到的?不,這不一定是真的。 – 2012-07-09 09:43:01
@KonradRudolph嗯,我不記得那個說法的來源,但它是在大多數情況下會發生什麼 – 2012-07-09 09:45:00