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

Tcl                                                    7.5                                            puts(3tcl)