保存されたバイナリデータを読み込みます。
新しくプロジェクトを作成したら、前回作った「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つ読み込む
という意味でとらえてください。
短いですが、今回は終わりです。
次からは、配列や構造体をバイナリで保存する方法を説明します。