Я делаю игру, и я сохранил данные карты в двумерном массиве размера [34] [10]. Первоначально я создал карту, используя простую функцию, чтобы заполнить массив и сохранил эти данные в файл, используя следующий код:Загрузка текста из файла в двумерный массив (C++)
ofstream myFile;
myFile.open("map.txt");
for (int y = 0 ; y < MAP_HEIGHT ; ++y)
{
for (int x = 0 ; x < MAP_WIDTH ; ++x)
{
myFile << m_acMapData[x][y];
}
myFile << '\n';
}
myFile.close();
Это выводит текстовый файл, который выглядит примерно так, как я хочу, чтобы это. Однако, когда я пытаюсь прочитать его снова, используя следующий код, я получаю нагрузку нарушения доступа и он выходит из строя во время выполнения:
ifstream myFile;
int i=0;
int j=0;
char line[MAP_WIDTH];
myFile.open("map.txt");
while (!myFile.eof())
{
myFile.getline(line, MAP_WIDTH);
for (i=0; i<MAP_WIDTH; i++)
{
m_acMapData[i][j] = line[i];
}
++j;
cout << line;
}
Кто-нибудь знает, в чем проблема?
что 'm_acMapData', как она объявляется и инициализируется? – atzz