3 ファイル入出力

3.1 取り扱い手順

コンピューターで大量のデータを操作する場合、ハードディスク上のファイルの取り扱い が必須である。ハードディスク上のファイルを取り扱うプログラムは簡単で、
  1. FILE型の変数、ファイルポインターの用意
  2. ファイルのオープン
  3. ファイルの読み書き
  4. ファイルのクローズ
を記述すれば良い。


3.2 ファイル出力

簡単な例として、次の ようなハードディスクにデータを書き込むプログラムを示す。このプログラムは、以下に ように書く。
	#include <stdio.h>

	int main(void)
	{
	  FILE *fp_write;

	  fp_write = fopen("test_out.txt","w");
     
	  fprintf(fp_write,"%d", 2004);
     
	  fclose(fp_write);
          
	  return 0;
	}

簡単である。ファイルポインターの宣言とオープンとクローズはおまじないと思えば良い。 実際に、ファイルにデータを書き出す部分は、fprintf関数を使う。これは、ディス プレイに出力するprintf関数とほとんど同じである。


3.3 ファイル入力

次の例は、ハードディスクからデータを読み込むプログラムである。 このプログラムは、以下にように書く。
	#include <stdio.h>

	int main(void)
	{
	  FILE *fp_read;
	  int a;

	  fp_read = fopen("test_out.txt","r");
     
	  fscanf(fp_read,"%d", &a);
     
	  fclose(fp_read);
          
	  return 0;
	}

難しいことは何も無い。おまじないの部分は、データ出力と同じである。ファ イルからデータを読み出す部分は、fscanf関数を使う。これは、キーボー ドから読み込むscanf関数とほとんど同じである。

3.4 エラー処理付きファイルオープン

実用的なプログラムでは、エラー処理は必須である。ファイル操作のプログラムの場合、 ファイルが無い等の理由でオープンできない場合がある。このようなときには、エラー処 理として
	if((fp_read = fopen("test_out.txt","r"))==NULL){
	  printf("ファイルが開けません\n");
	  return 1;
	}
と書く。この例は、ファイル読み込みの場合であるが、書き込みの場合も同じようにエラー 処理を書く。これはファイル処理をする場合のオープンのパターンと憶えておいて欲しい。


ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成16年11月30日


no counter