【C言語】fopen関数で開いたファイルに書き込みする方法

この記事では、C言語でファイルへの書き込みを行う方法と、エラーハンドリングの基本的な手法について解説します。

ファイルのオープンから書き込み、クローズまでの手順や、エラーチェックとエラーメッセージの表示方法を理解することができます。

初心者の方にもわかりやすく解説していますので、ぜひ参考にしてください。

目次から探す

ファイルへの書き込み方法

プログラムを作成する際に、ファイルへの書き込みは非常に重要な操作です。

C言語では、fopen関数を使用してファイルを開き、fprintf関数を使用してファイルにデータを書き込むことができます。

また、ファイルの書き込みが終了したら、fclose関数を使用してファイルを閉じる必要があります。

ファイルのオープン

ファイルを書き込むためには、まずファイルをオープンする必要があります。

C言語ではfopen関数を使用してファイルをオープンすることができます。

fopen関数は、以下のような形式で使用します。


FILE *fopen(const char *filename, const char *mode);

filenameには、オープンするファイルのパスを指定します。

modeには、ファイルをどのようなモードでオープンするかを指定します。

書き込みモードでファイルをオープンする場合は、wを指定します。

以下に、ファイルをオープンするサンプルコードを示します。


#include <stdio.h>
int main() {
    FILE *file = fopen("sample.txt", "w");
    if (file == NULL) {
        printf("ファイルをオープンできませんでした。\n");
        return 1;
    }
    // ファイルのオープンに成功した場合の処理
    fclose(file);
    return 0;
}

上記のコードでは、sample.txtという名前のファイルを書き込みモードでオープンしています。

ファイルのオープンに成功した場合は、fileというポインタ変数にファイルの情報が格納されます。

ファイルのオープンに失敗した場合は、fileの値がNULLになります。

ファイルへの書き込み

ファイルをオープンしたら、fprintf関数を使用してファイルにデータを書き込むことができます。

fprintf関数は、指定したフォーマットに従ってデータをファイルに書き込みます。


int fprintf(FILE *stream, const char *format, ...);

streamには、書き込むファイルのポインタを指定します。

formatには、書き込むデータのフォーマットを指定します。

...には、書き込むデータを指定します。

以下に、ファイルへの書き込みのサンプルコードを示します。


#include <stdio.h>
int main() {
    FILE *file = fopen("sample.txt", "w");
    if (file == NULL) {
        printf("ファイルをオープンできませんでした。\n");
        return 1;
    }
    fprintf(file, "Hello, World!\n");
    fprintf(file, "This is a sample file.\n");
    fclose(file);
    return 0;
}

上記のコードでは、fprintf関数を使用してファイルに2行のテキストを書き込んでいます。

fprintf関数は、指定したフォーマットに従ってデータをファイルに書き込むため、改行文字\nを使用して改行することができます。

ファイルのクローズ

ファイルへの書き込みが終了したら、fclose関数を使用してファイルをクローズする必要があります。

fclose関数は、以下のような形式で使用します。


int fclose(FILE *stream);

streamには、クローズするファイルのポインタを指定します。

以下に、ファイルのクローズのサンプルコードを示します。


#include <stdio.h>
int main() {
    FILE *file = fopen("sample.txt", "w");
    if (file == NULL) {
        printf("ファイルをオープンできませんでした。\n");
        return 1;
    }
    fprintf(file, "Hello, World!\n");
    fprintf(file, "This is a sample file.\n");
    fclose(file);
    return 0;
}

上記のコードでは、ファイルへの書き込みが終了した後に、fclose関数を使用してファイルをクローズしています。

ファイルをクローズすることで、ファイルへのアクセスが終了し、他のプログラムがファイルにアクセスできるようになります。

以上が、C言語でファイルへの書き込みを行う方法の説明です。

ファイルのオープン、ファイルへの書き込み、ファイルのクローズの手順を正しく実行することで、ファイルへのデータの書き込みが行えます。

1 2
目次から探す