ファイル操作

  1.1 概要
 例えば,あるクラスの学生の試験点数が,学籍番号順に入っているファイルがあるとします.例えば次のようなファイルです。
  95
  37
  78
  37
 最初の学籍番号の人は95点,次の人は37点というように入っています。このとき,このクラスの平均点を求めるプログラムを考えます。平均点を求めるには,クラスの生徒数と総得点を求める必要があります。ここではこの2つの数をそれぞれnum, sumという整数型の変数を使って求めることにします。全体のフローチャートは次のようになるでしょう。


図8-1 クラスの平均点を求めるプログラム

 まず最初に,2つの変数num, sumの値をゼロにしておきます。そろばんで読み上げられていく値の合計を求めるときに,「ご和算で願いましては」と最初に言われたら玉をすべてゼロにするのと同じですね。これから加算していく変数の初期値をセットします。
 あとは,ファイルのデータを読み切るまでは,順に点数を読み込んではこの2つの変数を加算していきます。読み込んだデータは,ここではファイルの1人分の内容をvalという名前の整数型の変数に格納するものとしています。
 ファイルのデータをすべて読み終わったら,平均点を表示して終わります。
 この処理から,ファイルの入出力を行うために,次の処理が必要であることがわかります。

また,次の処理も必要であることは容易に想像できます。

これから,これらの処理を行うために,C言語でどのような関数が用意されているのかを順に説明します。