read - 從一個通道讀
read ?
-nonewline?
channelId
read channelId numChars
在第一種形式下,
read
命令從
channelId
讀出直到檔案結束的所有資料。如果指定了
-nonewline
開關,那麼檔案的最後一個字元要是換行的話則丟棄它。
在第二種情況下,額外的引數指定要讀多少個字元。
實際上就讀取並返回這麼多字元,除非在檔案中剩下的字元少於
numChars
;在這種情況下返回所有剩餘的字元。如果通道被配置成使用多位元組編碼,則讀的字元數可能與讀的位元組數不相同。
如果
channelId
在非阻塞模式下,這個命令讀的字元可能不象要求的那樣多:
一旦所有可獲得的輸入已經被讀取了,這個命令將返回這些可獲得的資料,而不是為得到更多資料而阻塞。如果通道被配置成使用多位元組編碼,則實際上可能有一些位元組因為不能形成一個完整的字元而保留在內部緩衝區中。一直等到可獲得一個完整的字元或到達檔案結束,此前不返回這些位元組。
如果命令在到達檔案結束之前返回則忽略
-nonewline 開關。
Read 依照給通道的
-translation
選項把輸入中的行結束轉換成換行字元。參見
fconfigure
手冊條目來得到關於
fconfigure
如何改變輸入的一個討論。
file(n),
eof(n),
fblocked(n),
fconfigure(n)
blocking, channel, end of line, end of file, nonblocking, read, translation,
encoding
寒蟬退士
2001/10/18
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh