3 ファイル入出力の例

3.1 ファイル出力

細かい文法の話をする前に、実際のファイル出力の例を示す。以下のプログラ ムがファイル出力の例である。このプログラムを実行すると、"output.txt"と いうテキストファイルができる。このテキストファイルは、図 6のようになっている。

このプログラムの中で、ファイル処理に関する部分は、次の通りである。

実際のファイルの書き込みは、printf文とほとんど同じなので、簡単である。ただ、前後にファイルのオープンとクローズがあるだけである。

   #include <stdio.h>

   int main(void)
   {
     int i, j;
     FILE *fp;

     fp = fopen("output.txt","w");
     
     for(i=0;i<=99;i++){
       for(j=0;j<=9;j++){
         fprintf(fp,"%3d\t", 10*i+j);
       }
       fprintf(fp,"\n");
     }
     
     fclose(fp);
          
     return 0;
   }
図 6: 作成されたテキストファイル。
\includegraphics[keepaspectratio, scale=1.0]{figure/output_txt.eps}

3.2 ファイル入力

ファイル入力は、次のように書く。このプログラムを実行すると、先ほどファ イル出力で作成されたファイルのデータを読み込み、配列dataに数値が 代入される。

このプログラムの中で、ファイル処理に関する部分は、次の通りである。

実際のファイルの読み込みは、scanf文とほとんど同じなので、ファイル出力同様に 簡単である。

   #include <stdio.h>

   int main(void)
   {
     int i, j;
     int data[100][10];
     FILE *fp;

     fp = fopen("output.txt","r");

     for(i=0;i<=99;i++){
       for(j=0;j<=9;j++){
         fscanf(fp,"%d",&data[i][j]);
       }
     }

     fclose(fp);

     return 0;
   }



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


no counter