第36回
ファイルの扱い(1)~オープン/クローズと読み書き

オープンの定番パターン

ファイルをオープンする手続きは、どのようなプログラムでもほぼ同じになります。パターンとして覚えておきましょう。

fopen関数によるオープンの処理

ファイルをオープンする手続きは、以下のような形になります。
FILE *fp; -------- ファイルポインタを宣言

fp = fopen("abc.txt", "r"); ---- ファイルをオープンして
                 ファイルポインタを受け取る
if (fp != NULL) { -------- オープンに成功した場合
      :
} else { ----------------- オープンに失敗した場合
  printf("File open error!\n"); ---- エラーメッセージを出力
}

処理をまとめて簡略化する

しかし、CではもっとCらしく、いくつかの処理を1行にまとめることができます。この場合は
ファイルのオープン
ファイルポインタへの代入
成功か失敗かの判断
の3つを1つにまとめて、以下のように記述できます。
if ((fp = fopen("abc.txt", "r")) != NULL) {
      (a)        (b)               (c)
        :

(b)でファイルをオープンし、(a)でそのファイルポインタをfpに代入、(c)でファイルポインタがNULLでないかどうかを調べる……という形です。この書き方は、ファイルをオープンする処理の定番と言えます。