【发布时间】:2009-12-09 10:20:05
【问题描述】:
我正在制作一个游戏,我已将地图数据存储在一个大小为 [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;
}
有谁知道问题出在哪里?
【问题讨论】:
-
什么是
m_acMapData,它是如何声明和初始化的?
标签: c++ file file-io fstream access-violation