puts.n
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1993 The Regents of the University of California.
  3. '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
  4. '"
  5. '" See the file "license.terms" for information on usage and redistribution
  6. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. '" 
  8. '" RCS: @(#) $Id: puts.n,v 1.5.8.1 2004/10/27 14:23:57 dkf Exp $
  9. '" 
  10. .so man.macros
  11. .TH puts n 7.5 Tcl "Tcl Built-In Commands"
  12. .BS
  13. '" Note:  do not modify the .SH NAME line immediately below!
  14. .SH NAME
  15. puts - Write to a channel
  16. .SH SYNOPSIS
  17. fBputs fR?fB-nonewlinefR? ?fIchannelIdfR? fIstringfR
  18. .BE
  19. .SH DESCRIPTION
  20. .PP
  21. Writes the characters given by fIstringfR to the channel given
  22. by fIchannelIdfR.
  23. .PP
  24. .VS
  25. fIChannelIdfR must be an identifier for an open channel such as a
  26. Tcl standard channel (fBstdoutfR or fBstderrfR), the return
  27. value from an invocation of fBopenfR or fBsocketfR, or the result
  28. of a channel creation command provided by a Tcl extension. The channel
  29. must have been opened for output.
  30. .VE
  31. .PP
  32. If no fIchannelIdfR is specified then it defaults to
  33. fBstdoutfR. fBPutsfR normally outputs a newline character after
  34. fIstringfR, but this feature may be suppressed by specifying the
  35. fB-nonewlinefR switch.
  36. .PP
  37. Newline characters in the output are translated by fBputsfR to
  38. platform-specific end-of-line sequences according to the current
  39. value of the fB-translationfR option for the channel (for example,
  40. on PCs newlines are normally replaced with carriage-return-linefeed
  41. sequences;  on Macintoshes newlines are normally replaced with
  42. carriage-returns).
  43. See the fBfconfigurefR manual entry for a discussion on ways in
  44. which fBfconfigurefR will alter output.
  45. .PP
  46. Tcl buffers output internally, so characters written with fBputsfR
  47. may not appear immediately on the output file or device;  Tcl will
  48. normally delay output until the buffer is full or the channel is
  49. closed.
  50. You can force output to appear immediately with the fBflushfR
  51. command.
  52. .PP
  53. When the output buffer fills up, the fBputsfR command will normally
  54. block until all the buffered data has been accepted for output by the
  55. operating system.
  56. If fIchannelIdfR is in nonblocking mode then the fBputsfR command
  57. will not block even if the operating system cannot accept the data.
  58. Instead, Tcl continues to buffer the data and writes it in the
  59. background as fast as the underlying file or device can accept it.
  60. The application must use the Tcl event loop for nonblocking output
  61. to work;  otherwise Tcl never finds out that the file or device is
  62. ready for more output data.
  63. It is possible for an arbitrarily large amount of data to be
  64. buffered for a channel in nonblocking mode, which could consume a
  65. large amount of memory.
  66. To avoid wasting memory, nonblocking I/O should normally
  67. be used in an event-driven fashion with the fBfileeventfR command
  68. (don't invoke fBputsfR unless you have recently been notified
  69. via a file event that the channel is ready for more output data).
  70. .SH EXAMPLES
  71. Write a short message to the console (or wherever fBstdoutfR is
  72. directed):
  73. .CS
  74. fBputsfR "Hello, World!"
  75. .CE
  76. .PP
  77. Print a message in several parts:
  78. .CS
  79. fBputsfR -nonewline "Hello, "
  80. fBputsfR "World!"
  81. .CE
  82. .PP
  83. Print a message to the standard error channel:
  84. .CS
  85. fBputsfR stderr "Hello, World!"
  86. .CE
  87. .PP
  88. Append a log message to a file:
  89. .CS
  90. set chan [open my.log a]
  91. set timestamp [clock format [clock seconds]]
  92. fBputsfR $chan "$timestamp - Hello, World!"
  93. close $chan
  94. .CE
  95. .SH "SEE ALSO"
  96. file(n), fileevent(n), Tcl_StandardChannels(3)
  97. .SH KEYWORDS
  98. channel, newline, output, write