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