GNU/Linux |
RedHat 9.0(Shrike) |
|
![]() |
read(n) |
![]() |
______________________________________________________________________________
read − Read from a channel
read ?−nonewline? channelId
read channelId numChars _________________________________________________________________
In the first form, the read command reads all of the data from channelId up to the end of the file. If the −nonewline switch is specified then the last character of the file is discarded if it is a newline. In the second form, the extra argument specifies how many │ characters to read. Exactly that many characters will be read and │ returned, unless there are fewer than numChars left in the file; in │ this case all the remaining characters are returned. If the channel is │ configured to use a multi-byte encoding, then the number of characters │ read may not be the same as the number of bytes read. │
If channelId is in nonblocking mode, the command may not read as many │ characters as requested: once all available input has been read, the │ command will return the data that is available rather than blocking for │ more input. If the channel is configured to use a multi-byte encoding, │ then there may actually be some bytes remaining in the internal buffers │ that do not form a complete character. These bytes will not be │ returned until a complete character is available or end-of-file is │ reached. The −nonewline switch is ignored if the command returns before reaching the end of the file.
Read translates end-of-line sequences in the input into newline characters according to the −translation option for the channel. See the fconfigure manual entry for a discussion on ways in which fconfigure will alter input.
file(n), eof(n), fblocked(n), fconfigure(n)
blocking, channel, end of line, end of file, nonblocking, read, translation, encoding
![]() |
read(n) | ![]() |