【C言語】ファイルに複数行書き込みする方法

この記事では、C言語を使ってファイルに複数行のデータを書き込む方法について解説します。

具体的には、fputs関数fprintf関数を使った書き込み方を紹介し、文字列や数値をファイルに保存する方法をわかりやすく説明します。

初心者の方でも理解しやすい内容になっていますので、ぜひ最後まで読んでみてください。

目次から探す

複数行の書き込み方法

C言語では、ファイルに複数行のデータを書き込むために、主に fputs関数fprintf関数を使用します。

これらの関数を使うことで、テキストファイルにデータを効率的に保存することができます。

ここでは、それぞれの関数の使い方について詳しく解説します。

fputs関数を使った書き込み

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

この関数は、文字列をそのままファイルに出力するため、非常にシンプルで使いやすいです。

文字列の書き込み

以下は、fputs関数を使ってファイルに文字列を書き込むサンプルコードです。

#include <stdio.h>
int main() {
    FILE *file;
    file = fopen("output.txt", "w"); // ファイルを開く(書き込みモード)
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    // 文字列を書き込む
    fputs("こんにちは、世界!\n", file);
    fputs("C言語のファイル書き込みの例です。\n", file);
    fclose(file); // ファイルを閉じる
    return 0;
}

このコードを実行すると、output.txt というファイルに以下の内容が書き込まれます。

こんにちは、世界!
C言語のファイル書き込みの例です。

改行の扱い

fputs関数を使用する際、改行を挿入したい場合は、文字列の中に \n を含める必要があります。

上記の例でも、各行の末尾に \n を追加することで、改行を実現しています。

fprintf関数を使った書き込み

fprintf関数は、書式指定子を使ってデータをフォーマットしながらファイルに書き込むことができる関数です。

これにより、数値や文字列を組み合わせて出力することが可能です。

書式指定子の利用

以下は、fprintf関数を使ってファイルに書き込むサンプルコードです。

#include <stdio.h>
int main() {
    FILE *file;
    file = fopen("output.txt", "w"); // ファイルを開く(書き込みモード)
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    int number = 42;
    const char *message = "C言語の書式指定子";
    // 書式指定子を使って書き込む
    fprintf(file, "数値: %d\n", number);
    fprintf(file, "メッセージ: %s\n", message);
    fclose(file); // ファイルを閉じる
    return 0;
}

このコードを実行すると、output.txt には以下の内容が書き込まれます。

数値: 42
メッセージ: C言語の書式指定子

複数のデータ型の書き込み

fprintf関数を使用することで、異なるデータ型を同時に書き込むことができます。

上記の例では、整数と文字列を同時にファイルに出力しています。

書式指定子を使うことで、出力形式を柔軟に変更できるため、データの可読性が向上します。

このように、C言語では fputsfprintf を使って簡単にファイルに複数行のデータを書き込むことができます。

用途に応じて使い分けることで、効率的なファイル操作が可能になります。

目次から探す