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

通讯编程

开发平台:

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: gets.n,v 1.4.8.1 2004/10/27 12:52:40 dkf Exp $
  9. '" 
  10. .so man.macros
  11. .TH gets 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. gets - Read a line from a channel
  16. .SH SYNOPSIS
  17. fBgets fIchannelIdfR ?fIvarNamefR?
  18. .BE
  19. .SH DESCRIPTION
  20. .PP
  21. This command reads the next line from fIchannelIdfR, returns everything
  22. in the line up to (but not including) the end-of-line character(s), and
  23. discards the end-of-line character(s).
  24. .PP
  25. .VS
  26. fIChannelIdfR must be an identifier for an open channel such as the
  27. Tcl standard input channel (fBstdinfR), the return value from an
  28. invocation of fBopenfR or fBsocketfR, or the result of a channel
  29. creation command provided by a Tcl extension. The channel must have
  30. been opened for input.
  31. .VE
  32. .PP
  33. If fIvarNamefR is omitted the line is returned as the result of the
  34. command.
  35. If fIvarNamefR is specified then the line is placed in the variable by
  36. that name and the return value is a count of the number of characters
  37. returned.
  38. .PP
  39. If end of file occurs while scanning for an end of
  40. line, the command returns whatever input is available up to the end of file.
  41. If fIchannelIdfR is in nonblocking mode and there is not a full
  42. line of input available, the command returns an empty string and
  43. does not consume any input.
  44. If fIvarNamefR is specified and an empty string is returned in
  45. fIvarNamefR because of end-of-file or because of insufficient
  46. data in nonblocking mode, then the return count is -1.
  47. Note that if fIvarNamefR is not specified then the end-of-file
  48. and no-full-line-available cases can
  49. produce the same results as if there were an input line consisting
  50. only of the end-of-line character(s).
  51. The fBeoffR and fBfblockedfR commands can be used to distinguish
  52. these three cases.
  53. .SH "EXAMPLE"
  54. This example reads a file one line at a time and prints it out with
  55. the current line number attached to the start of each line.
  56. .PP
  57. .CS
  58. set chan [open "some.file.txt"]
  59. set lineNumber 0
  60. while {[fBgetsfR $chan line] >= 0} {
  61.     puts "[incr lineNumber]: $line"
  62. }
  63. close $chan
  64. .CE
  65. .SH "SEE ALSO"
  66. file(n), eof(n), fblocked(n), Tcl_StandardChannels(3)
  67. .SH KEYWORDS
  68. blocking, channel, end of file, end of line, line, nonblocking, read