gpt4 book ai didi

c - 尝试通过插入从文件流检索的字符来创建二维数组

转载 作者:行者123 更新时间:2023-11-30 16:10:14 24 4
gpt4 key购买 nike

这是我的代码:

#include<stdio.h>
#define ROW 10
#define COLUMN 20
int main(int argc, char *argv[]){
FILE* fptr;
char grid[ROW][COLUMN];
int i ,j;
fptr = fopen(argv[1],"r");
for ( i = 0; i < ROW; i++){
for ( j = 0; j< COLUMN; j++){

fscanf(fptr,"%c",&grid[i][j]);
}


}
for(i = 0; i< ROW; i++){
for(j = 0; j< COLUMN; j++){
printf("%c",grid[i][j]);
}
}



return(0);
}

这是我的输入文件:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

这是我的输出:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0

但它应该看起来像输入文件本身。我不知道我做错了什么,因为我觉得自己很无能,而且我需要它来完成任务。问题是输入文件需要存储为二维数组,因为稍后该数组的元素将用于比较以创建 COnways 生命游戏。

最佳答案

空格和换行符也会被你的fscanf读取,你可以跳过它

#include<stdio.h>
#define ROW 10
#define COLUMN 20

int main(int argc, char *argv[]){

FILE* fptr;
char grid[ROW][COLUMN];
int i ,j;
fptr = fopen(argv[1],"r");

for ( i = 0; i < ROW; i++){
for ( j = 0; j< COLUMN; j++){

fscanf(fptr,"%c ",&grid[i][j]);
}

fscanf(fptr,"\n");
}

for(i = 0; i< ROW; i++){
for(j = 0; j< COLUMN; j++){
printf("%c ",grid[i][j]);
}

printf("\n");
}


return(0);
}

在读取文件之前决定行大小、列大小不是一个好习惯。您可以使输入文件中的第一行包含行大小、列大小。

关于c - 尝试通过插入从文件流检索的字符来创建二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58925724/

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