我试图从.txt文件中读取20x20的迷宫并存储在二维数组中。
因为fgets函数会读取NUL字符和换行符,我在每行预留了22个字符的空间(20个用于迷宫)。
然而,代码并没有按照我的意愿工作。当我尝试打印单个数组(例如maze[0]),整个文件似乎被复制到了一个数组中。
我做错了什么?
然而,代码并没有按照我的意愿工作。当我尝试打印单个数组(例如maze[0]),整个文件似乎被复制到了一个数组中。
我做错了什么?
#include <stdio.h>
#define BUFLEN 22
int main()
{
FILE *fp = fopen ("maze.txt", "r");
char maze[22][20];
int i = 0;
int j = 0;
for (i=0; i<20; i++){
fgets(maze[i], BUFLEN, fp);
}
for (j=0; j<20; j++){
printf("%s", maze[j]);
}
fclose(fp);
return 0;
}
char maze[22][20];
-->char maze[20][22];
- BLUEPIXY