【C言語】ファイルを読み込んで2次元配列に格納する

この記事では、C言語を使ってファイルからデータを読み込み、それを2次元配列に格納する方法を学びます。

ファイルの読み込みや2次元配列の作成とデータの格納について、具体的な手順とサンプルコードを通じて理解することができます。

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

目次から探す

ファイルを読み込んで2次元配列に格納する方法

ファイルの読み込み

C言語では、ファイルを読み込むためにはstdio.hヘッダーファイルをインクルードする必要があります。

ファイルを読み込むための関数としては、fopen関数fscanf関数を使用します。

まず、fopen関数を使用してファイルを開きます。

fopen関数は、ファイルポインタを返します。

ファイルポインタは、ファイルにアクセスするためのポインタです。

#include <stdio.h>
int main() {
    FILE *file;
    file = fopen("data.txt", "r");
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    // ファイルの読み込み処理
    fclose(file);
    return 0;
}

上記の例では、fopen関数を使用してdata.txtというファイルを読み込みモード(r)で開いています。

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

2次元配列の作成とデータの格納

2次元配列を作成するためには、配列の要素数を指定する必要があります。

また、ファイルから読み込んだデータを2次元配列に格納するためには、ループを使用してデータを読み込み、配列に格納する必要があります。

#include <stdio.h>
#define ROWS 3
#define COLS 3
int main() {
    FILE *file;
    int data[ROWS][COLS];
    int i, j;
    file = fopen("data.txt", "r");
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    // ファイルからデータを読み込んで2次元配列に格納する
    for (i = 0; i < ROWS; i++) {
        for (j = 0; j < COLS; j++) {
            fscanf(file, "%d", &data[i][j]);
        }
    }
    // 2次元配列の内容を表示する
    for (i = 0; i < ROWS; i++) {
        for (j = 0; j < COLS; j++) {
            printf("%d ", data[i][j]);
        }
        printf("\n");
    }
    fclose(file);
    return 0;
}

上記の例では、3行3列の2次元配列を作成しています。

ファイルからデータを読み込んで2次元配列に格納するために、2重のループを使用してfscanf関数を呼び出しています。

また、2次元配列の内容を表示するために、再度2重のループを使用してprintf関数を呼び出しています。

以上のように、C言語ではファイルを読み込んで2次元配列に格納することができます。

ファイルの読み込みや2次元配列の操作に慣れるために、実際にプログラムを実行してみてください。

目次から探す