帖2个典型的迷宫文本文件出来,分析一下。
加入了字符转数值。
#include <stdio.h>
int main()
{
char tc[1000][1000];
char ti[1000][1000];
int columns=1,lines=1;
int c;
FILE *fp;
fp=fopen("MiGong51.txt","rb");
if(fp)
{
while((c=fgetc(fp)) != EOF)
{
tc[lines][columns]=c;
printf("%c",tc[lines][columns]);
columns++;
if(c=='\n') lines++;
if(c=='\n') columns=1;
}
fclose(fp);
printf("\nlines=%d columns=%d \n",lines,columns);
for (int i=1;i<=lines;i++)
{
for(int j=1;j<columns;j++)
{
ti[i][j]=(tc[i][j]-'0');
printf("ti[%2d][%2d]=char%c int=%d ",i,j, tc[i][j],ti[i][j]);
}
printf("\n");
}
}
return 0;
}
大致的代码如下
/*存储迷宫的二维数组 数字 0和1*/
int a[50][50];
int row = 0, column = 0; /* 迷宫的行和列 */
int i = 0, j = 0;
char ch;
FILE *fp = fopen("D:\\demo.txt", "r");
while( (ch=fgetc(fp)) != EOF ){
if (ch != '\n') { a[i][j] = ch - '0'; j++;}
else {
i++;
if(column == 0) column = j; /*列数*/
j=0;
}
}
row = i++; /*行数*/