はじめての C

(続き)

先月、ファイルに アクセスすることが できる モードについて 簡単に 触れましたが、使いたいとき どの モードを 特定するのか ということは、それを 説明する スペースが なくなって しまいました。

最初に、ファイルを 読むのか、書き込むのか あるいは その最後へ データを 付け加えるのかを 決めないと いけません。 これらの動作は、それぞれ 小文字の r, w, a に よって 与えられます。

しかし、これだけでは まだ 少し 制限が あります。 というのも、いくつかの ケースでは、同時に 2つの 操作を 実行したい ことも あるからです。

こうした 処理を 与える 特別な モード - 更新 (update) と 呼びます - が 用意されていて、それを 使いたい 場合には、モード選択の ときに + の 記号を 加えておきます。

最後に、出力時には、テキスト または バイナリ形式の どちらかを 指定することが できます - この 2つの 違いは、テキストモードは 表示可能な 文字の サブセット (subset) だけから なっていて、数値は それら テキスト表記内に 格納されます。

バイナリモードでは、すべての ASCII 文字の 値域 (range) で 保存することが 可能で、数値は ハードウェアの インターナル形式 (internal format) として 格納されます。 もし、この バイナリモードを 使いたいときには、モードの 綴りに b を 入れてください。

注意する 点として、r+ モードでは、更新時に 実際にある ファイルを 開くと いうことと、w+ モードでは ファイルが 作成されるので、もし 同じ 名前の ファイルが すでに あると、それを 消してしまう、と いうことです。