ファイルのオープンとクローズ

 前回まで、ファイルの入出力処理の概要と、ストリームという概念について説明しました。今回からは、ソースコード(サンプル)を例示しながら、実際のプログラミングの方法を見ていきましょう。

 早速、まずは下記のサンプルコードを実際に作成し、実行してみて下さい。

#include <stdio.h>

int main(int argc, const char * argv[])
{
    
    // insert code here...
    
    // ファイルのオープン
    FILE *fp;
    fp = fopen("testfile1.txt", "w");
    
    // ファイルに書き込み
    fputc('a', fp);
    
    // ファイルのクローズ
    fclose(fp);
    
    return 0;
}

 実行すると、プロジェクトのフォルダに「testfile1.txt」という名前のファイルが出来ていて、そのテキストファイルを開くと「a」の一文字が書かれていることと思います。

 まず、ファイルをオープンする際は、FILE型のポインタ変数を用意し、fopen関数でストリームを作成し、そのポインタ変数にストリームを格納します。fopen関数の引数の1番目がファイル名、2番目は、どういうモードでファイルを開くかを定義しています。そのモードは、主に以下のものがあります。

  • r:ファイルを読み込み専用モードで開く(ファイルが無かったら、エラー)
  • w:ファイルを書き込み専用モードで開く(ファイルが無かったら、新規作成)
  • a:ファイルを追加書き込み専用モードで開く(ファイルが無かったら、新規作成)
  • rb:ファイルをバイナリファイルとして読み込み専用モードで開く
  • wb:ファイルをバイナリファイルとして書き込み専用モードで開く
  • ab:ファイルをバイナリファイルとして追加書き込み専用モードで開く

 今回はモードが「w」なので書き込みモードでファイルを開いています(ファイルが存在していない場合は、新規で作成されます)。その後、fputc関数で「a」の一文字を書き込みます(fputc関数については後の記事でご紹介します)。書き込みが完了すると、fclose関数でファイルをクローズします。

 ファイルの読み込み・書き込みの命令は複数ありますが、fopen関数とfclose関数は必ず使いますので、覚えておいて下さい。

■スポンサーリンク

このページの先頭へ