私は過去4時間ほどこれに取り組んできましたが、何をすべきかわかりません。Game of Life を C に移植していますが、FileIO が正しく動作しません。入力ファイルの形式は次のとおりです。
Game 1: Pattern Name
10 20
// Pattern here
Game 2: Pattern Name
15 25
// Pattern here
ファイルの最後まで続きます。10
私がやりたいことは、ゲームを印刷し、サイズの多次元配列を作成し20
、最初のゲームのために、この配列にパターンを保存することです。これが私がこれまでに持っているものです:
void fileIO() {
FILE *file;
char buffer[BUFFER_SIZE];
int rows = 0, cols = 0;
file = fopen("input.txt", "r");
if(file == NULL) {
printf("Error opening file.");
} else {
while(fgets(buffer, BUFFER_SIZE, file) != NULL) {
if(strstr(buffer, "Game") != NULL) {
printf("%s", buffer);
} else {
sscanf(buffer, "%d%d", &rows, &cols);
}
}
fclose(file);
}
}
ここで私は壁にぶつかり、問題のリストに出くわしました。
Creating a dynamic global multi-dimensional array
Preventing the buffer from reading into the next game
これを行う最善の方法は、次のようにゲームごとに構造体配列を作成することだと考えました。
struct game {
char board[][];
};
struct game games[];
ただし、それぞれの行と列の量のパラメーターを動的に設定する方法がわかりません。