[英]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.