-1
A
回答
3
flush
命令指示Tcl確保其通道的所有緩衝輸出立即寫入底層操作系統。你幾乎不需要明確地使用flush
;主要的例外是當你提示輸入用戶不使用新行:
puts -nonewline "Please enter your name: "
flush stdout
set name [gets stdin]
但是,如果您有沖洗出於其他原因的問題,您真正需要使用fconfigure
更改默認的輸出緩衝區經營策略:
# Turn off output buffering
fconfigure $channel -buffering none
每個通道支持三種緩衝策略:
none
- 無緩衝可言。full
- 緩衝區,直到建立完整的輸出緩衝區(輸出緩衝區的大小是可控的,但您幾乎不需要觸摸它),然後立即寫入整個緩衝區。line
- 緩衝區,直到一整行輸出可以一次寫入。 總是缺省書寫時大量數據,但stdout
通道默認爲line
寫入終端時,並且stderr
通道none
(因爲它是用來
大多數通道默認full
爲能提供最佳性能用於在系統非常差並且可能崩潰等情況下編寫消息)。
+0
在緩衝區標準輸出和標準輸入不會佔用不同的內存。如果它們佔用不同的內存,則不需要衝洗輸出緩衝區。因爲我們在這裏有兩個不同的存儲位置。是這樣嗎? – user2720323
+0
緩衝區將看起來像2路?或單一? – user2720323
相關問題
- 1. TCL clock命令
- 2. 使用tcl interp別名重命名內置命令的tcl
- 3. flush命令有什麼作用?
- 4. 使用sudo命令執行tcl
- 5. 使用與TCL eval命令「設置」
- 6. tcl:執行git命令
- 7. Iperf with tcl expect命令
- 8. 使用flush和_flush/synced命令的地方
- 9. 如何使用條件選項調用Tcl命令
- 10. 查找和sed命令替換爲Tcl命令ARGS符號
- 11. 什麼tcl命令返回上次評估的命令?
- 12. Tcl錯誤無效命令名:無效的命令名稱」 0.27722296"
- 13. 需要tcl命令使用方面的幫助regsub
- 14. 如何使用Python在相同的TCL shell上運行命令
- 15. 如何使用tcl exec命令運行python腳本
- 16. TCL tablelist - 如何使用-editend命令讀取修改後的值
- 17. 如何在tcl中的加載命令上使用interp arg?
- 18. 使用文件參數的tcl中的exec命令
- 19. 使用Tcl命令在Windows 7中複製文件
- 20. 使用的sed命令可變稱爲Tcl腳本來
- 21. Tcl:命令替換中的空格
- 22. 無法理解TCL中的uplevel命令
- 23. 在tcl的foreach命令讀取文件
- 24. TCL從一個命令賦值變量
- 25. 從TCL文件執行linux命令
- 26. TCL命令 - 字符串修剪
- 27. TCL變量範圍:訪問命令
- 28. 從命令行獲取TCL的版本?
- 29. Tcl等效於UNIX「cp -pL」命令
- 30. TCL中2個命令的組合
您是否閱讀過文檔[here](http://www.tcl.tk/man/tcl8.4/TclCmd/flush.htm)和[here](http://www.tcl.tk/man) /tcl8.4/TclCmd/fconfigure.htm)? – TheCodeArtist
您知道通道在備份和溢出時被阻塞。當您通過管道移動大包時,這尤其是個問題。 –
此外,你應該考慮開始[接受](http://stackoverflow.com/help/accepted-answer)你的問題的答案:) – Jerry