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]


Copyright(C) 2006-2012 CLAYPOT. All Rights Reserved.