我有一個關於標準庫中I/O緩衝的問題: 我讀了關於文件I/O緩衝的「Linux編程接口」第13章,作者提到標準庫使用磁盤文件和終端的I/O緩衝。 我的問題是,這種I/O緩衝也適用於FIFO,管道,套接字和網絡文件?C/C++標準庫中的緩衝
1
A
回答
1
是的,如果您使用基於FILE *
的標準I/O庫。唯一可能發生的奇怪的事情是底層系統文件描述符對isatty
函數返回非零值。然後,stdio可能會'行緩衝'輸入和輸出。這意味着它在看到'\n'
時傾向於沖刷。
我相信,如果文件描述符1對於isatty
返回非零值,則需要將行緩衝區stdout
。
0
相關問題
- 1. 紅寶石IO.popen標準輸出緩衝
- 2. Python:清除標準輸入緩衝區
- 3. 非緩衝標準輸入讀取
- 4. 什麼是標準輸入緩衝區?
- 5. 標準輸出緩衝甚至fflush
- 6. 緩衝讀取使用fread中的標準輸入C
- 7. 丟棄標準輸入流緩衝區中的無關字符
- 8. 如何在C++中打印緩衝區到標準輸出?
- 9. 如何在pycharm中禁用python標準輸出緩衝區?
- 10. 我應該設置標準輸出和標準輸入緩衝在C?
- 11. 緩存CC動畫
- 12. DBwn何時將數據庫緩衝區緩衝區中的緩衝區更新爲數據庫磁盤?
- 13. 如何關閉標準輸出的緩衝用C
- 14. 線程I/O重排序緩衝區的標準術語?
- 15. 清潔標準輸入緩衝區的問題
- 16. 帶緩衝區編輯器的Clojure標準REPL?
- 17. 無緩衝CreateNamedPipe時用作標準輸出爲CreateProcess的
- 18. 使用MPMoviePlayer緩衝流中的標籤
- 19. 派生child_process標準輸出到'readline'沒有緩衝節點?
- 20. C在提交之前讀取標準輸入緩衝區
- 21. 寫塊緩衝數據到文件沒有fflush(標準輸出)
- 22. emacs標準/緩衝區顯示錶更改(音譯實驗)
- 23. 如何禁用nodejs ChildProcess.spawn標準輸出緩衝區?
- 24. 標準緩衝沒有得到清除系統()調用之前
- 25. Vim在標準輸出上打印緩衝區名稱:q
- 26. 如何緩衝stdout,直到標準輸入關閉?
- 27. C++中的標準庫STL
- 28. .NET中的System.Runtime.CompilerServices標準庫
- 29. mingW中的標準C庫
- 30. 爲什麼要緩衝子進程的標準輸出(重定向到無緩衝文件)?
嗨,亞當,感謝您的答案,但我知道我們可以通過調用fdopen()創建一個具有現有fd的FILE對象。 如果我們通過調用該函數並調用fwrite()或fread()來創建一個FILE對象,標準I/O緩衝將應用於管道,套接字和FIFO嗎? – kai
我不確定OP究竟在想什麼,但總是在* some *級別緩衝,否則在保證沒有數據丟失的情況下編寫同步接口到管道,套接字等是不可能的。 –