DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

/usr/gnu/man2/cat.n/gets.n.Z(/usr/gnu/man2/cat.n/gets.n.Z)




______________________________________________________________________________


NAME

       gets - Read a line from a channel


SYNOPSIS

       gets channelId ?varName?
_________________________________________________________________


DESCRIPTION

       This  command reads the next line from channelId, returns everything in
       the line up to (but not including) the  end-of-line  character(s),  and
       discards the end-of-line character(s).

       ChannelId  must  be  an  identifier for an open channel such as the Tcl |
       standard input channel (stdin), the return value from an invocation  of |
       open or socket, or the result of a channel creation command provided by |
       a Tcl extension. The channel must have been opened for input.

       If varName is omitted the line is returned as the result  of  the  com-
       mand.   If varName is specified then the line is placed in the variable
       by that name and the return value is a count of the number  of  charac-
       ters returned.

       If  end  of  file occurs while scanning for an end of line, the command
       returns whatever input is available up to the end of  file.   If  chan-
       nelId  is  in  nonblocking  mode  and there is not a full line of input
       available, the command returns an empty string and does not consume any
       input.  If varName is specified and an empty string is returned in var-
       Name because of end-of-file or because of  insufficient  data  in  non-
       blocking  mode,  then  the return count is -1.  Note that if varName is
       not specified then the end-of-file and no-full-line-available cases can
       produce the same results as if there were an input line consisting only
       of the end-of-line character(s).  The eof and fblocked commands can  be
       used to distinguish these three cases.


EXAMPLE

       This example reads a file one line at a time and prints it out with the
       current line number attached to the start of each line.

              set chan [open "some.file.txt"]
              set lineNumber 0
              while {[gets $chan line] >= 0} {
                  puts "[incr lineNumber]: $line"
              }
              close $chan


SEE ALSO

       file(n), eof(n), fblocked(n), Tcl_StandardChannels(3)


KEYWORDS

       blocking, channel, end of file, end of line, line, nonblocking, read

Tcl                                   7.5                              gets(n)

Man(1) output converted with man2html