Loose-Info.com

Last Update 2019/12/24


TOP - C言語 - stdio.h - fread()

ファイル・ポインタで参照されるストリームから引数で指定されるサイズのオブジェクトを指定の数だけ読み込みます。

 戻り値1  = fread(  引数1  ,  引数2  ,  引数3  ,  引数4  )

戻り値1 :
int
実行が成功した場合
オブジェクトの総数
エラーが発生した場合
指定の数に満たないオブジェクト数、または0
引数1 :
void *
読み込んだオブジェクトを格納場所へのポインタ
引数2 :
size_t
一つのオブジェクトのサイズ
引数3 :
size_t
読み込むオブジェクトの総数
引数4 :
FILE *
ファイル・ポインタ

(例)
#include <stdio.h> int main() { FILE *fp; char s_write[15] = "123456789012345"; char s1[10] = ""; char s2[100]; int i1[3], i2[3]; int i, n; i1[0] = 10; i1[1] = 200; i1[2] = 3000; fp = fopen("test_fopen_w.txt", "w"); fwrite(s_write, 15, 1, fp); fwrite(i1, 4, 3, fp); fclose(fp); fp = fopen("test_fopen_w.txt", "r"); n = fread(s1, 1, 3, fp); printf("読み取り結果1 : %d [%c] [%c] [%c]\n", n, s1[0], s1[1], s1[2]); fclose(fp); fp = fopen("test_fopen_w.txt", "r"); n = fread(s2, 5, 3, fp); printf("読み取り結果2 : %d [%s]\n", n, s2); n = fread(i2, 4, 3, fp); for (i = 0; i < 3; i++) { printf("読み取り結果%d : %d [%d]\n", i+3, n, i2[i]); } fclose(fp); return 0; }

実行結果
読み取り結果1 : 3 [1] [2] [3] 読み取り結果2 : 3 [123456789012345] 読み取り結果3 : 3 [10] 読み取り結果4 : 3 [200] 読み取り結果5 : 3 [3000]