我正在做一个学校项目,该项目涉及从 .txt 文件中获取预先设计的 25x25 迷宫并将其输入到二维数组中,然后将其打印到控制台上并在迷宫中移动角色。我遇到的主要问题是将字符移动到数组中。我觉得我很接近,但我的代码导致程序崩溃。
这是我用来将字符移动到数组中的循环:
int col=0;
ifstream inFile;
inFile.open("maze.txt");
char temp = inFile.get();
while(!inFile.eof())
{
for(int row=0; row<25; row++)
{
while(temp != '\n')
{
boundary[row][col] = temp;
col++;
temp=inFile.get();
}
temp=inFile.get();
}
}
inFile.close();
本质上,重点是通过将每行中的所有字符放入数组的同一行直到到达换行符,然后它应该移动到下一个,将空格和 block 字符移动到一个 25x25 字符数组中下一行的字符,然后再次开始 while 循环。
它编译得很好,但是程序在移动到任何其他代码之前就崩溃了。 如果您知道如何在不彻底改变格式的情况下修复它,我将不胜感激,因为这只是一小部分,但如果需要,我愿意从头开始。
最佳答案
在每一行之后(在 while(temp != '\n')
循环之前或之后)将 col
重置为零。
关于c++ - 需要帮助将 .txt 字符分配到二维数组中。 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36729126/