請有人請解釋一下,究竟是什麼意思?我想了解的是什麼clog
和cerr
之間的差別,差別只在緩衝提前緩衝在iostream
0
A
回答
2
感謝當你寫阻塞,那麼你實際上寫的字符在內存中的存儲。當這個商店變滿時,它會寫入實際的流。當流關閉時(會在程序結束時發生),那麼剩下的數據將被寫入流(手動刷新也可能發生)。
隨着cerr,這不會發生。
通常,由於寫入內存比寫入大多數流更快,因此緩衝的效果是整體性能的提高。情況並非總是如此(典型的例子是間接級別導致緩衝區寫入緩衝區寫入緩衝區),但通常這是合理的默認值。然而,結果是在寫入流對象和寫入實際流之間可能存在延遲,這在某些情況下不合適。
想象一下寫入cerr的東西可能需要迅速的動作是合理的,但寫入堵塞的東西不會,因此是不同的。
1
clog和cerr之間的區別在於clog是完全緩衝的,而輸出到cerr的輸出會在每次格式化後寫入外部設備。對於完全緩衝的流,僅當緩衝區已滿時才寫入輸出到實際外部設備。因此,clog更有效地將輸出重定向到文件,而cerr主要用於終端I/O。在每次格式化之後寫入外部設備,在cerr的情況下寫入終端,用於同步終端的輸出和輸入。另外,預定義的流與其關聯的C標準文件同步。
+0
因此,堵塞是緩衝流和cerr不是,對不對? – hqt 2012-11-15 03:37:09
相關問題
- 1. 緩衝和無緩衝流在Java中
- 2. 訪問衝突誤差的iostream
- 3. 在緩衝區
- 4. 緩衝/無緩衝通道
- 5. std :: iostream使用計數零和無效緩衝區讀取或寫入
- 6. 會從<iostream.h>變爲<iostream>導致緩衝區溢出?
- 7. GTK +緩衝在g_input_stream_read
- 8. 如何在緩衝
- 9. 在c#雙緩衝
- 10. 緩衝
- 11. 緩衝區溢出緩衝區長度
- 12. 幀緩衝區/顏色緩衝區?
- 13. fstream的緩衝作品,filebuf緩衝不
- 14. 的Python 3:無緩衝VS緩衝流
- 15. 緩衝IO與非緩衝IO
- 16. 無緩衝流和緩衝流
- 17. 是否緩衝或無緩衝的System.out?
- 18. UNIX緩衝和非緩衝I/O
- 19. 輸入緩衝器沖洗
- 20. fgets的沖洗緩衝區
- 21. 防止沖洗緩衝區
- 22. Perl緩衝區沖洗
- 23. Perl的打印緩衝衝
- 24. 複製整數緩衝區如果緩衝區在C
- 25. 綁定模板渲染緩衝區幀緩衝區在OpenGL
- 26. 如何在c#中緩衝RichTextBox的緩衝區?
- 27. 替換緩衝區名的提示在ERC緩衝區
- 28. 在緩衝區菜單中選擇不同的緩衝區
- 29. 在java中緩衝緩衝流的結果是什麼?
- 30. 在緩衝區列表視圖中增加「緩衝區」列寬
可以將緩衝區 - >緩衝區 - >緩衝區寫入爲代碼中的邏輯錯誤,因此並不真正相關,因爲錯誤通常不會比正確的代碼更快。 – 2010-09-30 13:39:44
@Martin,如果這些緩衝區全部都是黑盒子,那麼它不是最理想的,但不是不正確的。 – 2010-09-30 13:45:15