gpt4 book ai didi

c - 从文件读入二维数组

转载 作者:行者123 更新时间:2023-12-04 09:22:13 25 4
gpt4 key购买 nike

我试图将 20x20 迷宫从 .txt 文件读取到二维数组中。因为 fgets 也读取 NUL 和\n,所以我为每行留出了 22 个字符的空间(20 个用于迷宫)。

但是,它并没有按我预期的方式工作。

当我测试此代码以仅打印单个数组(例如 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[20][BUFLEN];

这将为您提供 20“行”的 BUFLEN 字符。

关于c - 从文件读入二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32365645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com