Provided by: manpages-zh_1.6.3.3-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