簡體   English   中英

什么時候std :: cout緩沖區可以為非空?

[英]when can std::cout buffer be non-empty?

我在這里看到了cout.rdbuf() 這意味着,流cout具有與之關聯的流緩沖區,在刷新它之前該緩沖區不為空。

但是,我怎么能在沖洗cout之前窺探cout的流緩沖區?

cout << "I want to read this before this get flushed";
cout.UnknownFunction();  //this would save the buffer into a string variable
cout << flush;

但是以當前代碼形式,所有內容都將在第一行之后刷新到屏幕上。

那么,什么樣的構造可以讓我窺視cout緩沖區?

PS。 我在Windows7上運行VC ++ 2010

我認為這不會在第一行之后刷新,但是我絕對不確定。 我經歷過endl刷新,但其他人則沒有,可能會有太多的角色自動刷新,但我不知道。 我(偶然)創建了一個像這樣的程序(簡稱):

cout << "x";
while (true) {}

程序運行了這個程序,輸出將被調試,但是它沒有為我寫任何東西,所以我認為程序沒有到達那里...

以下鏈接與本主題密切相關C ++緩沖流IO

(但我仍然不確定如何/何時將cout.rdbuf()轉換為字符串。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM