*C言語* 〜48時限目〜 バイナリファイルの書き込み&読み込み・・・
〜目次〜
バイナリファイルに書き込む
この時限まで読み書きをしてきたファイルは、
全てテキストエディタで読み書きができるファイルでした。
このようなファイルのことを、
テキストファイル(text file)
と呼びます。
テキストファイルは人間がテキストエディタで読み書きができるため、
大変便利です。
しかし、
内容によってはファイルサイズが大きくなったり、
処理速度が遅くなる場合があります。
このような時に、
バイナリファイル(binary file)
と呼ばれるファイルを使うことで、
便利になります。
バイナリファイルは、
コンピュータの内部で扱われるテータ形式のまま保存されたファイルです。
実際に、
バイナリファイルを使ったコードを入力して見ます。
sample113.c
ーsample113の実行画面ー
ファイルをオープンしました。
ファイルに書き込みました。
ファイルをクローズしました。
sample113を実行することで、
test113.binというバイナリファイルが作成されます。
バイナリファイルを扱う方法も、
これまでの操作とほとんど同じです。
バイナリファイルを扱うには、
ファイルをオープンする際に"b"を追加します。
sample113では書き込み用なので、
wと組み合わせて"wb"と指定しています。
このバイナリファイルは、
fwrite( )関数
というものを使うことで、
書き込むことができます。
この関数は、
書き込む要素へのポインタ(要素のアドレス)と、
書き込むデータサイズを指定します。
sample113では配列の要素を1つずつ書き込むことにしています。
指定する順番は以下の通りです。
fwrite(
書き込む要素へのポインタ,
書き込むデータサイズ,
書き込む個数,
ファイルポインタ
)
バイナリファイルを読み込む
上で作成したバイナリファイルを、
テキストエディタで開いても読めないデータになっています。
しかし、
このバイナリファイルから、
先ほど書き込んだデータを読み込んで画面に出力することができます。
使うバイナリファイルは上で作成した、
test113.binファイルを使います。
以下のようなコードを入力してください。
sample114.c
ーsample114の実行画面ー
ファイルをオープンしました。
99点
70点
77点
13点
56点
ファイルをクローズしました。
sample114では、
バイナリファイルに書き込まれているデータを、
読み込んで画面に出力しています。
バイナリファイルを読み込む際には、
オープンモードとして、"rb"を指定します。
データの読み込みには、
fread( )関数
という関数を使います。
今回はバイナリファイルへの、
書き込みと読み込みを学びました。
次回はファイルへのアクセス方法についてから、
学んでいきます。
〜END〜