Everything

fread


ストリーム入出力用ファイルから、指定した記憶域にデータを入力します。

[指定形式]

#include <stdio.h>

size_t fread(void *ptr, size_t size, size_t n, FILE *fp);

[引数]

ptr データを入力する記憶域へのポインタ

size 1メンバのバイト数

n 入力するメンバの数

fp ファイルポインタ

[戻り値]

sizeもしくはnが0の時:0

size,nがともに0でない時:入力に成功したメンバ数

[備考]

fread関数は、ファイルポインタfpの示すストリーム入出力用ファイルからptrが指す記憶域にsizeで指定したバイト数を1メンバとしたデータをnメンバ入力します。この時、ファイルに対する位置指示子は入力したバイト数分進められます。

fread関数は、実際に入力に成功したメンバ数を返しますので、通常nと同じ値になります。しかし、ファイルが終了した時やエラー発生の時は、それまで入力に成功したメンバ数を返しますので、nより小さな値となります。ファイルの終了かエラー発生かの区別は、ferror、feof関数を用いて行ってください。

sizeもしくはnが0の時、リターン値として0を返し、ptrの指す記憶域の内容は変化しません。また、エラーが発生した時、または、メンバの途中までしか入力できなかった時は、そのファイルの位置指示子は保証しません。