最終更新:2022-09-20 (火) 07:25:36 (555d)
read
Top / read
ファイルディスクリプタから読み込む
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/read.2.html
ssize_t read(int fd, void *buf, size_t count);
説明
- read() はファイルディスクリプタ (file descriptor) fd から最大 count バイトを buf で始まるバッファーへ読み込もうとする。
- count が 0 ならば、 read() は 0 を返し、他に何も起きない。 count が SSIZE_MAX より大きければ、結果は特定できない。
ファイルディスクリプタ
返り値
- 成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファイル位置はこの数だけ進められる。
- この数が要求した数より小さかったとしてもエラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後に近いのかも しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるかもしれない) や read() がシグナル (signal) によって割り込まれた場合にこれは起こりえる。
- エラーの場合は、-1 が返され、 errno が適切に設定される。この場合はファイル位置が変更されるかどうかは 不定である。
関連Linux/システムコール
Android
Bash/組み込みコマンド
- Read a line from the standard input and split it into fields.