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