入出力について

ファイル

出力と入力を理解していれば、手順さえ覚えることでファイルへの入力も出力も容易に行なうことができます。ファイル操作の基本は「ファイルを開く」「ファイルに対する操作(読み込みや書込みなど)」「ファイルを閉じる」となります。

  FILE *fp;

  char s[256];

  fp = fopen( "smpl.txt" , "r" )

  while ( fgets( s , 256 , fp) != NULL) {

    printf( "%s" , s );

  }

  fclose( fp );

 

上記が、ファイル内容を読み込み画面に出力するサンプルです。「FILE *fp」はファイルを操作するためのファイル型変数のアドレスを宣言しています。

fopen()で取得したファイルポインタを格納し、操作するファイルとの繋がりを確立するために使用します。fopenの第1引数はファイル名(実行ファイルがあるフォルダからの相対パスか、絶対パス)、第2引数はファイルを開くモードを指定します。

「r」は読み出し専用、「w」は書きこみ専用、「a」は追加書きこみ専用」、それぞれの「r+」「w+」「a+」とすることで更新モードとして開くことができます。fget()は、格納する変数、取得する最大文字数、開くファイルのファイルポインタの順に指定します。

ファイルの終端に達した場合は、fget()の返却値がNULLとなるためwhileループを抜けます。最後のfcloseを行わないと、プログラムを実行しているプロセスがファイルを握りっぱなしとなるため、他のプログラムなどからファイルを開けなくなってしまう場合があります。上記の例でwhileループとなっている部分を変えることにより、ファイルに出力する処理などを記述できます。基本を抑えておきましょう。