この記事では、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次元配列の操作に慣れるために、実際にプログラムを実行してみてください。