-1

我尝试通过该网站搜索有关为什么会发生此错误的可能答案,但找不到确切的答案。

对于这个小代码,我基本上让程序从文件中读取输入。(它读取每个字符。)然后将其存储在多维数组(2D)中,最后打印出数组。

这是我的代码:

ifstream file;
char gamemap[20][26];
file.open("maze-hard.txt");
if(!file.is_open())
{
    cout << "Error: Cannot open file" << endl;
    return 0;
}

    for(int i = 0; i < 20; i++) 
    {
        for(int j = 0; j < 26; i++)
        {
            gamemap[i][j] = file.get();
            cout << gamemap[i][j];

        }
        cout << endl;
    }

它有点成功,但我遇到了分段错误错误。我不知道问题出在哪里。不要为了这个对我太苛刻。我在 C++ 方面并不是那么先进。

4

3 回答 3

3
 for(int j = 0; j < 26; i++)

我会i++j++.

于 2013-05-07T01:29:24.707 回答
1

虽然可能与这个特定的段错误没有严格的关系,但我也会检查以确保读取对安全有益。

if(file.good())
{
    gamemap[i][j] = file.get();
    //etc etc
}
于 2013-05-07T01:34:03.783 回答
1

在第二个循环中增加 j,而不是 i ;)

于 2013-05-07T01:29:22.520 回答