C言語のファイル入出力は,用途に応じた処理ができるように,様々な機能が用意されて
いる.この辺りについては,すぐに理解できなくても良いが,ファイル処理を多用するプ
ログラムを作成する場合には各自勉強する必要がある.ここでの講義では,以下のように
すれば良いだろう.
- 高水準ファイル処理を使え
教科書に書いてあるとおり,高水準ファイル処理と低水準ファイル処理がある.
通常は前者を使う.前者はバッファーを文字や数値単位,あるいは文字単位で処
理する関数が用意されており,容易にプログラムができる.それに対して,後者
はバイト単位で処理する.そのため,細かい処理ができる反面,取り扱い--プ
ログラム--が面倒である.
- テキストモードを使え
改行コードの処理により,テキストモードとバイナリーモードを使い分ける.
Linux(UNIX)ではC言語と同じ改行コードを使う.したがって,テキストモードも
バイナリーモードも同じ結果が得られる.Windowsの場合は,テキストモードだ
と改行コードの変換が行われるので,注意が必要である.この辺の所は教科書を
見て欲しい.
- シーケンシャルファイル処理を使え
ファイルのデータへのアクセス方法には,シーケンシャルファイル処理とランダ
ムファイル処理がある.前者はデータを先頭から順にアクセスし,後者は任意の
場所からアクセスできる.本講義ではランダムアクセス処理を使うことはない.
- ファイル出力には,fprintf()関数を使え
fprintf()関数は,標準出力(ディスプレイ)と同じ使い方ができる.画面に
出力するのと同じイメージでファイルに書き込むことができるので,容易にプロ
グラムが書ける.実際,出力したファイルをemacsのようなエディターで見ると画
面出力と同じである.
- ファイル入力には,fscanf()関数を使え
fscanf()関数は,標準入力(キーボード)と同じ使い方ができる.キーボード
からデータを入力するのと同じイメージでファイルからデータを読み込むことが
できる.諸君は,その方法になれているので,容易にプログラムが書けるだろう.
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成18年6月27日