c++ - 需要帮助将 .txt 字符分配到二维数组中。 C++

标签 c++ for-loop multidimensional-array fstream maze

我正在做一个学校项目,该项目涉及从 .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/

相关文章:

python - 代码在函数外部工作,但在函数内部不起作用(python)

python - 使用循环和追加读取多个 Excel 文件

python - 使用列表理解对多个数组执行 cumsum

python - 预期字节或整数地址而不是 str 实例 Python 3

c++ - 在SGI STL的实现中,vector的push_back函数没有使用默认参数

c++ - CMake 和 wxWidgets 2.9.5

python - 需要范围分配的数组类型

c++ - 静态的入栈、出栈、查看、遍历栈元素

java - 使用 Java Stream 多次处理结果

c# - 检查按钮的颜色并使用 2D 数组更改它