【C言語】ファイルに配列のデータを書き込む方法

この記事では、C言語を使って配列のデータをテキストファイルやバイナリファイルに書き込む方法について解説します。

目次から探す

配列のデータをテキストファイルに書き込む

配列のデータをテキストファイルに書き込む手順は以下の通りです。

  1. ファイルを開くためのポインタ変数を宣言する。
  2. ファイルを書き込みモードで開く。
  3. 配列のデータをfprintf関数でファイルに書き込む。
  4. ファイルを閉じる。

以下に、具体的なコード例を示します。


#include <stdio.h>
int main() {
    // 配列のデータ
    int array[] = {1, 2, 3, 4, 5};
    int size = sizeof(array) / sizeof(array[0]);
    // ファイルを開く
    FILE *file = fopen("data.txt", "w");
    // ファイルが正しく開けたかをチェック
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    // 配列のデータをファイルに書き込む
    for (int i = 0; i < size; i++) {
        fprintf(file, "%d\n", array[i]);
    }
    // ファイルを閉じる
    fclose(file);
    printf("ファイルに書き込みました。\n");
    return 0;
}

上記のコードでは、data.txtという名前のテキストファイルを書き込みモードで開き、配列のデータを1行ずつファイルに書き込んでいます。

ファイルが正しく開けなかった場合はエラーメッセージを表示し、プログラムを終了します。

ファイルを閉じることで、データの書き込みが完了します。

実行結果

上記のコードを実行すると、指定したファイルに配列のデータが書き込まれます。

以下に、data.txtの内容の例を示します。

1
2
3
4
5

配列のデータをバイナリファイルに書き込む方法

C言語では、配列のデータをバイナリファイルに書き込むために、fwrite関数を使用します。

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

以下に、配列のデータをバイナリファイルに書き込むサンプルコードを示します。


#include <stdio.h>
int main() {
    int array[] = {1, 2, 3, 4, 5};
    int size = sizeof(array) / sizeof(array[0]);
    FILE *file = fopen("data.bin", "wb");
    if (file == NULL) {
        printf("ファイルを開くことができませんでした。\n");
        return 1;
    }
    fwrite(array, sizeof(int), size, file);
    fclose(file);
    printf("配列のデータをバイナリファイルに書き込みました。\n");
    return 0;
}

このサンプルコードでは、arrayという名前の整数型の配列を定義し、そのデータをバイナリファイルに書き込んでいます。

実行すると、配列のデータがdata.binという名前のバイナリファイルに書き込まれます。

目次から探す