テキスト形式による保存&読み込みどの形式でデータを保存するかは悩むところですが、グラフィック、音声、等のいわゆるサイズの大きいデータや、ゲームのハイスコアデータやモンスターのパラメータデータ等一般ユーザに中身を見られたり書き換えられたくない物はバイナリ形式で保存するのが普通です。逆にエディタのウィンドウの大きさ、フォントの種類等の各種設定ファイルはテキスト形式で保存した方が後で簡単に内容を確認、変更できるので便利です。もちろん、これはあくまで私がそう思っているだけです。
使用する関数 fopen ファイルを読み書き可能な状態にする
fclose 使用し終わったファイルを閉じる
fprintf ファイルにデータを書き込む
fgets ファイルからデータを1行分だけ読み込む
sscanf 文字列を解析して変数に値を代入する長所 作成されたファイルはテキストファイルなので、メモ帳などで内容を確認できデータの内容を手で書き換える事が容易にできる。保存の仕方にもよるが、基本的にファイルに書き込まれているデータがどういった内容なのかわかりやすい。
異機種(OS)間でのファイルの互換性を保ちやすい短所 データファイルのサイズが大きい。
sscanfには少しクセがあるので、ファイルを読み書きする部分のプログラムが少し複雑になる。
バイナリ形式による保存&読み込み
使用する関数 fopen ファイルを読み書き可能な状態にする
fclose 使用し終わったファイルを閉じる
fwrite ファイルに変数の内容を書き込む
fread ファイルからデータを読み込み変数に書き込む長所 ファイルサイズが小さい。
データの読み書きの部分のプログラムが単純。短所 ファイルに書き込まれたデータを調べたり変更したりする場合には専用のプログラムを作る必要がある。
異機種(OS)間でのファイルの互換性を保ちづらい。
ファイルにどういったデータが書き込まれているのかわかりづらい。