我正在制作一个游戏,并将地图数据存储在一个大小为 [34][10] 的二维数组中。最初,我使用一个简单的函数来填充数组并使用以下代码将此数据保存到文件中来生成地图:
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;
}
有谁知道问题是什么?