簡體   English   中英

多維數組分割錯誤

[英]Segmentation fault with multidimensional arrays

我嘗試通過該網站搜索有關為什么發生此錯誤的可能答案,但找不到確切答案。

對於這個小代碼,我基本上讓程序從文件中讀取輸入。 (它讀取每個字符。)然后將其存儲在多維數組(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 ++的了解還不夠。

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

我會用j++代替i++ j++

在第二個循環中遞增j,而不是i;)

盡管可能與該特定段不嚴格相關,但我還要檢查以確保讀取對安全性有益。

if(file.good())
{
    gamemap[i][j] = file.get();
    //etc etc
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM