MENU

【C言語】ファイルに書き込むデータごとに改行を入れる方法

この記事では、C言語プログラミングにおいて、ファイルにデータを書き込む際にデータごとに改行を入れる方法を解説します。

目次から探す

データごとに改行を入れる方法

プログラムでファイルにデータを書き込む際、データごとに改行を入れる方法について説明します。

以下では、fprintf関数fputs関数fwrite関数のそれぞれの場合について説明します。

fprintf関数の場合

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

改行を入れるためには、フォーマット文字列の中に改行文字(\n)を含めることで実現できます。

以下に、fprintf関数を使用してデータごとに改行を入れるサンプルコードを示します。


#include <stdio.h>
int main() {
    FILE *file = fopen("data.txt", "w");
    if (file == NULL) {
        printf("ファイルを開くことができませんでした。\n");
        return 1;
    }
    fprintf(file, "データ1\n");
    fprintf(file, "データ2\n");
    fprintf(file, "データ3\n");
    fclose(file);
    return 0;
}

上記のコードでは、data.txtという名前のファイルを書き込みモードで開き、fprintf関数を使用してデータを書き込んでいます。

各データの後ろには改行文字(\n)が含まれているため、データごとに改行されます。

実行結果は、data.txtファイルに以下のように書き込まれます。

データ1
データ2
データ3

fputs関数の場合

fputs関数は、指定した文字列をファイルに書き込む関数です。

改行を入れるためには、改行文字(\n)を文字列の末尾に追加してfputs関数に渡すことで実現できます。

以下に、fputs関数を使用してデータごとに改行を入れるサンプルコードを示します。


#include <stdio.h>
int main() {
    FILE *file = fopen("data.txt", "w");
    if (file == NULL) {
        printf("ファイルを開くことができませんでした。\n");
        return 1;
    }
    fputs("データ1\n", file);
    fputs("データ2\n", file);
    fputs("データ3\n", file);
    fclose(file);
    return 0;
}

上記のコードでは、data.txtという名前のファイルを書き込みモードで開き、fputs関数を使用してデータを書き込んでいます。

各データの後ろには改行文字(\n)が含まれているため、データごとに改行されます。

puts関数と違って自動的に改行は追加されません。改行したい場合は必ず\nを末尾に加えましょう。

実行結果は、data.txtファイルに以下のように書き込まれます。

データ1
データ2
データ3

fwrite関数の場合

fwrite関数は、指定したデータをバイナリ形式でファイルに書き込む関数です。

改行を入れるためには、改行文字(\n)を含む文字列をバイナリデータとして扱う必要があります。

以下に、fwrite関数を使用してデータごとに改行を入れるサンプルコードを示します。


#include <stdio.h>
int main() {
    FILE *file = fopen("data.txt", "wb");
    if (file == NULL) {
        printf("ファイルを開くことができませんでした。\n");
        return 1;
    }
    char data1[] = "データ1\n";
    char data2[] = "データ2\n";
    char data3[] = "データ3\n";
    fwrite(data1, sizeof(char), sizeof(data1) - 1, file);
    fwrite(data2, sizeof(char), sizeof(data2) - 1, file);
    fwrite(data3, sizeof(char), sizeof(data3) - 1, file);
    fclose(file);
    return 0;
}

上記のコードでは、data.txtという名前のファイルをバイナリ書き込みモードで開き、fwrite関数を使用してデータを書き込んでいます。

各データの後ろには改行文字(\n)が含まれているため、データごとに改行されます。

実行結果は、data.txtファイルに以下のように書き込まれます。

データ1
データ2
データ3

以上が、データごとに改行を入れる方法の説明です。

fprintf関数fputs関数fwrite関数のいずれかを使用することで、簡単にデータごとに改行を入れることができます。

目次から探す