PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 請問使用cout不加endl為何可以正常輸出?
作者:
zoooooa
(喔唷唷唷唷唷)
2016-05-03 23:09:56
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
iostream
問題(Question):
小弟在 Win7 + Visual Studio 2013 中
直接使用 cout<<"123";
便可以直接顯示123在螢幕上
疑問的點是
不是應該會先放置在Buffer內
直到遇見endl或flush才會輸出嗎?
為什麼不用加endl也會直接清空緩衝區呢?
求解惑
作者:
janice001
(真理)
2016-05-03 23:31:00
誰這樣告訴你的?
作者:
nowar100
(拋磚引玉)
2016-05-03 23:39:00
很多時機都會flush ,不只endl
作者:
zoooooa
(喔唷唷唷唷唷)
2016-05-03 23:42:00
在linux下只用cout不加endl就不會有字串輸出到螢幕上好奇為何在windows上卻有不同執行結果
作者:
LPH66
(-6.2598534e+18f)
2016-05-04 00:10:00
標準只規定 << flush 時要沖馬桶, 沒規定其他時候沖不沖
作者:
loveflames
(咕啾咕啾魔法陣)
2016-05-04 01:20:00
串一下stderr,參考一下好幾年前我po的那篇
作者: black17 (喔郎)
2016-05-04 02:10:00
endl是換行的意思吧!?
作者:
Caesar08
(Caesar)
2016-05-04 08:41:00
換行+flush
作者:
fatrabitree
(胖兔子)
2016-05-04 09:16:00
endl 是換行 會flush是因為cout是line buffered吧?
作者:
loveflames
(咕啾咕啾魔法陣)
2016-05-04 09:33:00
10252那篇結論我想講的很清楚了單純只是windows沒分配buffer
作者:
Caesar08
(Caesar)
2016-05-04 09:57:00
cppreference, Inserts a newline character into the output sequence漑s乸nd flushes it as if by calling漑sN4582, 27.7.3.8, 1, Calls os.put(os.widen(’\n’)),then os.flush().
作者:
loveflames
(咕啾咕啾魔法陣)
2016-05-04 10:03:00
原文問的是windows沒加endl為何會輸出,樓上丟endl不是文不對題嗎
作者:
Caesar08
(Caesar)
2016-05-04 10:12:00
我在回那兩位不知道endl是甚麼的標準只規定flush要sync,以及使用相對的in與err要flush,沒說其他情況不能flush(例如單純呼叫operator<<)
作者:
loveflames
(咕啾咕啾魔法陣)
2016-05-04 10:26:00
印象中標準沒規定不能flush的情況,反而一堆地方有規定會flush,例如exit()
作者: longlongint (華哥爾)
2016-05-04 12:17:00
因為你只用過eclipse啊(?
作者:
eye5002003
(下一夜)
2016-05-11 21:29:00
所以有時候會寫成cout<<"123\n";反正一樣結果
作者:
loveflames
(咕啾咕啾魔法陣)
2016-05-12 11:49:00
回樓上,遇到fully buffered行為就不一樣了
繼續閱讀
[問題] 撈多個 server 的資料
noodleT
[問題] AnsiString中找字元個數
a7878779
[問題] 請問初學程式的一些問題
susuplay
[問題] C 指標陣列問題
tsaijacob
[問題] system()開啟瀏覽器問題
mp8113f
Re: [問題] 請益一段程式碼 (offsetof/container_of)
LPH66
[問題] 測資產生器
kevin898y
Re: [問題] 建構解構的基本問題
CoNsTaR
[GitHub] semile: profiler (viewer) framework
rodion
[問題] 請益一段程式碼
j5128709
Links
booklink
Contact Us: admin [ a t ] ucptt.com