C言語read関数の機能を教えてください
C言語のread関数は、ファイル記述子からデータを読み取ります。
- ファイルディスクリプタから指定したバイト数だけ読み込む
- 読み込まれたデータを指定されたバッファーに格納します。
- 実際読み込んだバイト数を返します。
- ファイルの終わりまで読み込んだ場合、0を返す。
- エラーの場合、-1 を返し、適切なエラーコードを設定します。
read 関数のプロトタイプは以下のとおりです。
ssize_t read(int fd, void *buf, size_t count);
fdがファイル記述子、bufが読み込みデータを格納するバッファ、countが読み取りバイト数となります。
read関数はブロッキング関数なので、データが読み取られるまでエラーが発生するか読み取り可能になるまでずっと待機します。非ブロッキングでデータを読み取る必要がある場合は、selectやpollなどの関数を使用できます。