在c++中保存2D字符数组到文件
Saving 2D Char arrays to file in C++
所以在我的程序中,我有一个2d字符数组gameField
,其中存储了各种字符来表示堡垒,玩家,空白空间和主基地。我试图将这个数组保存到一个文件中,但我试图做的方式似乎并不奏效。这是我的示例代码。
void saveMap()
{
string userMap = directoryName + username + "-map.txt";
ofstream savemap(userMap.c_str());
for (int i = 0; i <= ROWS; i++)
{
for (int j = 0;j <= COLUMNS; j++)
{
savemap << gameField[i][j];
}
savemap << endl;
}
savemap.close();
}
每当我尝试执行这个时,我总是得到运行时错误,我想知道是否有人可以解释为什么,也许提供一个替代方案。
EDIT: gameField是一个字符数组,COLUMNS
等于50,ROWS等于30。我有数组中的每一个字符初始化和设置等于什么,但每当我调用函数,我得到一个未处理的异常在0x511cbe20 (msvcr100d.dll)在Game1.exe: 0xC0000005:访问违规读取位置0x30303030.
您正在尝试访问数组之外的内存。例如,行的有效范围是[0,rows - 1]
我将这样写这个函数
void saveMap()
{
string userMap= directoryName+username+"-map.txt";
ofstream savemap(userMap.c_str());
int i = 0;
while ( i < ROWS && savemap.write( gameField[i++], COLLUMS ) ) savemap << std::endl;
}
相关文章:
- 如何将内容数组写入文本文件?
- C++将文本文件中的数据读取到结构数组中
- 将值从二维数组输出到文本文件
- C++数据文件、数组和计算赋值
- 如何拆分文件中.txt字母并使用c ++使用数组进行扑克?
- 如何在 C++ 中从文件中读取字符数组(带有一些空格)
- 如何从txt文件中读取多个不同长度的数组?
- 保存/加载大量短数组到二进制文件
- 从二进制文件中读取整数数组
- 如何在 C++ 中将文件中的逗号分隔数字读取到数组中?
- C++ 使用存储在动态数组中的文本文件中的数据查找模式
- C++编程从外部文本文件定义数组大小
- 使用矢量将文本文件中的输入存储到 2D 数组中
- 如何将文本文件的特定行读取到 int 类型的数组中C++?
- 使用 stbi_write_png,如何将 0 和 1 的矩形字节数组转换为单色 png 文件?
- 将系数存储在头文件的数组中("does not name a type"错误)
- 在C++中使用变量而不是"#define"来指定数组大小是不是一种糟糕的做法?(C错误:在文件范围内
- 从文件读取,并写入函数C++中的数组
- 如何从具有两列的.txt文件创建并行数组?
- 读取二维数组文件