-1

この Web サイトを検索して、このエラーが発生する理由の考えられる答えを探してみましたが、正確な答えが見つかりませんでした。

この小さなコードでは、基本的にプログラムにファイルから入力を読み取らせます。(すべての文字を読み取ります。)次に、それを多次元配列(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

1

おそらくこの特定のセグメンテーション違反と厳密には関係ありませんが、読み取りが安全のために適切であることも確認します。

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