fread, fwrite -
バイナリストリームの入出力
#include <stdio.h>
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb,
FILE *stream);
fread() 関数は
stream
ポインタで指定されたストリームから
nmemb
個のデータを読み込み、
ptr
で与えられた場所に格納する。
個々のデータは
size
バイトの長さを持つ。
fwrite() 関数は
ptr
で指定された場所から得た
nmemb 個のデータを、
stream
ポインタで指定されたストリームに書き込む。
個々のデータは
size
バイトの長さを持つ。
これらの処理を停止せずに行いたいときは、
unlocked_stdio(3)
を参照のこと。
返り値¶
成功すると、
fread() と
fwrite()
は読み書きを行った要素の個数を返す。
size が 1
の場合は、この数字は転送されたバイト数と等しい。
エラーが生じた場合や、ファイルの末尾
(end-of-file) に達した場合、
返り値は指定した個数よりも小さい値
(または 0) となる。
fread() は end-of-file
とエラーを区別しないので、
どちらが生じたかを判断するためには、
呼び出し側で
feof(3) と
ferror(3)
とを使用しなければならない。
C89, POSIX.1-2001.
関連項目¶
read(2),
write(2),
feof(3),
ferror(3),
unlocked_stdio(3)
この文書について¶
この man ページは Linux
man-pages
プロジェクトのリリース
3.41 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。