首页 > 解决方案 > 显示从 txt 文件读取的二维数组的问题(C++)

问题描述

我在为使用 ASCII 字符的非常基本的控制台游戏执行循环时遇到了麻烦。我想将 txt 文件(地图)存储到二维数组中,然后我想在控制台上输出二维数组。

您可以在此处看到 2 个循环,一个用于将 txt 文件输入到 2d 数组中,另一个用于在屏幕上输出 2d 数组。

void Level::load_level() {
    Level gameLevel;
    ifstream inFile;
    gameLevel.map;

    inFile.open("level1.txt");
    if (inFile.fail()) {
        perror("level1.txt");
        system("PAUSE");
    }
    for (int i = 0; i < 20; i++) {
        for (int j = 0; j < 74; j++) {
            inFile >> map[i][j];
        }
    }
    for (int i = 0; i < 20; i++) {
        for (int j = 0; j < 74; j++) {
            printf("%c", map[i][j]);
        }
        printf("\n");
    }
    inFile.close();
}

所以,这是我的 txt 文件的样子:

在此处输入图像描述

这是我的控制台显示的内容:

在此处输入图像描述

二维数组中的数据似乎没有正确存储,我应该怎么做才能让一个循环从文件中读取数据到二维数组中,而另一个循环正确显示二维数组?我不知道我是否说清楚了。感谢和抱歉我缺乏技能(我是初学者)。

标签: c++multidimensional-arrayfile-io

解决方案


推荐阅读