【发布时间】:2014-10-29 14:08:59
【问题描述】:
这是我的模式 txt:
##########
#1 # #
# # #
# # #
# #
# #
# #2 ##
# #
# # #
##########
我想在二维数组中逐行加载此行,例如 char board[10][10];
这是我的加载文件代码:
FILE *fp;
fp = fopen(file_name,"r");
do{
for(int a=0;a<10;a++){
for(int b=0;b<10;b++){
fscanf(fp,"%c",&board[a][b]);
}
}
}while(!feof(fp));
// test print for showing into console
for(int c=0;c<10;c++){
for(int d=0;d<10;d++){
printf("%s",board[c][d]);
}
printf("\n");
}
fclose(fp);
【问题讨论】:
-
您的偏好是什么?我的意思是您是否有任何顺序将这些信息读/写到数组中?如果没有,我建议预先分配一个大的二维数组(除非您确切知道需要读取多少个字符),执行嵌套 for 循环,并对每个字符执行 fgetc() 并将它们存储到您的数组 [i] [j ].
-
这些模式来自一个名为“map.txt”的文件,我只是尝试创建一个简单的吃豆人游戏....我想将此文件内容加载到数组中。
-
你试过什么?例如,您知道如何从文件中读取字符并将其打印到屏幕上吗?
-
这是我的脚本 'FILE *fp; fp = fopen(file_name,"r"); do{ for(int a=0;a
-
嗯?
fp没有 NULL 检查,%s对board[c][d][假设 2D 字符数组]...???那么阅读newline呢?