我正在制作游戏,并将地图数据存储在大小为[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 2009-12-09 10:25:04