gpt4 book ai didi

C++ 访问冲突写入位置 0x00B0A654

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:39 25 4
gpt4 key购买 nike

<分区>

所以我正在为内置 C++ 的游戏开发图 block 引擎。作为其中的一部分,我想从保存在游戏目录中的 .txt 文件中存储和加载图 block 。

这段代码保存了一个关卡

void LevelManager::SaveToFile(char * FileName)
{
ofstream File(FileName);
File.clear();
for (unsigned y = 0; y < 300; y++) {
for (unsigned x = 0; x < 300; x++) {

File << TileGrid[x][y].PhysicsNumber << " ";
File << TileGrid[x][y].GT.TopLeft << " ";
File << TileGrid[x][y].GT.TopRight << " ";
File << TileGrid[x][y].GT.BottomLeft << " ";
File << TileGrid[x][y].GT.BottomRight << " ";
}
File << "\n";
}
File.close();
}

然后下面的代码读取文件

void LevelManager::LoadFromFile(char * FileName)
{
ifstream infile;
int y = 0;
int x = 0;
int counter = 1;
infile.open(FileName);
while (y < 300) {
char Current = 0;
infile.read(&Current, 1);
if (Current == 10) {
y++;
x = 0;
}
else if (Current == 32) {
counter++;
if (counter > 5) counter = 1;
x++;
}
else if (counter == 1) {
TileGrid[x][y].PhysicsNumber = (TileGrid[x][y].PhysicsNumber * 10) + Current - 48;
}
else if (counter == 2) {
TileGrid[x][y].GT.TopLeft = (TileGrid[x][y].GT.TopLeft * 10) + Current - 48;
}
else if (counter == 3) {
TileGrid[x][y].GT.TopRight = (TileGrid[x][y].GT.TopRight * 10) + Current - 48;
}
else if (counter == 4) {
TileGrid[x][y].GT.BottomLeft = (TileGrid[x][y].GT.BottomLeft * 10) + Current - 48;
}
else if (counter == 5) {
TileGrid[x][y].GT.BottomRight = (TileGrid[x][y].GT.BottomRight * 10) + Current - 48;
}

}

infile.close();
}

Visual Studio 给我这个错误“Access Violation writing Location 0x00B0A654”

在线研究表明我正在读取不存在的数据,但我不确定如何解决这个问题。

编辑:忘了说这个错误只发生在写保存代码的时候。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com