★ファイル操作(バイナリファイル2)★


保存されたバイナリデータを読み込みます。

新しくプロジェクトを作成したら、前回作った「Test.txt」をコピーしてください。

まずは、オープンとクローズだけ書きます。

<sample program 123-01>

#include <stdio.h>

int main(void)
{
    FILE* fp;

    fp = fopen("Test.txt", "rb");

    if (fp == NULL) {
        printf("OPEN ERROR\n");
        return 1;
    }


    fclose(fp);

    return 0;
}

ファイルをオープンするモードは「"rb"」です。


バイナリファイルから読み込む場合はfread関数を使います。

<fread関数の引数>

fread関数はfwriteと同じく4つの引数を渡します。

fread(@, A, B, C);

@読み込んだデータを格納する番地
Aデータ1つのサイズ(バイト数)
Bデータの個数
Cファイルポインタ

実際に使ってみます。

本当に読み込めたかどうか、変数の中身も表示します。

<sample program 123-02>

#include <stdio.h>

int main(void)
{
    int data;

    FILE* fp;

    fp = fopen("Test.txt", "rb");

    if (fp == NULL) {
        printf("OPEN ERROR\n");
        return 1;
    }

    fread(&data, sizeof(int), 1, fp);

    fclose(fp);

    printf("data = %d\n", data);

    return 0;
}

<実行結果>

data = 123
続行するには何かキーを押してください・・・

freadは、

 変数(data)の配置された番地(&data)にintサイズのデータを1つ読み込む

という意味でとらえてください。


短いですが、今回は終わりです。

次からは、配列や構造体をバイナリで保存する方法を説明します。


次へ

戻る

目次へ