Provided by: manpages-zh_1.6.3.2-1_all bug

NAME

       puts - 向一個通道寫

總覽 SYNOPSIS

       puts ?-nonewline? ?channelId? string
_________________________________________________________________

描述 DESCRIPTION

       把用  string   給出的字符寫到用 channelId 給出的通道中。    ChannelId  必須是從以前的 opensocket   調用返回的一個通道標識符。它必須爲輸出而打開。如果未指定  channelId   則取省爲
       stdoutPuts     通常在      string   後面輸出一個換行字符,但可以通過指定      -nonewline
       開關來禁止這個特徵。

       puts                             依照給這個通道的                             -translation
       選項的值把在輸出中換行(Newline)字符轉換成特定於平臺的行結束序列(例如,在                PC
       上換行一般被替換成回車換行(carriage-return-linefeed)序列;在                    Macintoshe
       上換行通常被替換成回車符(carriage-returns))。關於   fconfigure    如何改變輸出的討論請參見
       fconfigure   手冊條目。

       Tcl    在內部緩衝輸出,所以用    puts      寫的字符可能不會在輸出文件或設備上立即出現;Tcl
       通常延遲輸出,一直等到緩衝區滿了或通道被關閉。你可以通過 flush     命令強制輸出立即出現。

       當輸出緩衝被添滿的時候,在所有緩衝的數據被操作系統接受以便輸出之前,puts
       命令將一直阻塞。如果   channelId      在非阻塞模式下,那麼即使操作系統不接受這些數據,puts
       命令也不阻塞。作爲替代,Tcl
       繼續緩衝這些數據並在後臺以底層的文件或設備可以接受的速度寫它們。要使非阻塞的輸出工作應用必須使用
       Tcl                                   事件循環;否則                                   Tcl
       不能發現文件或設備已經準備好接收更多的輸出數據。在非阻塞模式下的一個通道可以緩衝任意數量的數據,這可能消耗大量的內存。要避免浪費內存,非阻塞
       I/O                          通常應該以事件驅動的方式用於                        fileevent
       命令(除非在通過一個文件事件得到指示,通知你通道已經準備好接收更多的數據,否則不要調用
       puts)。

參見 SEE ALSO

       file(n), fileevent(n)

關鍵字 KEYWORDS

       channel, newline, output, write

[中文版維護人]

       寒蟬退士

[中文版最新更新]

       2001/10/17

《中國 Linux 論壇 man 手冊頁翻譯計劃》:

       http://cmpp.linuxforum.net

       本頁面中文版由中文 man 手冊頁計劃提供。
       中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh