将文件中数组形式的内容读入数组 有代码 自己写的感觉很差 望各位给点好的
#include <stdio.h>#include "stdlib.h"
int main()
{
FILE *fp; //FILE要大写
int ch,i,j,row=0,col=0;
int arr[10][10];
char str[128],*p;
if((fp=fopen("temp.txt","r"))==NULL)
{
printf("file cnannot be opened\n");
exit(1);
}
//文件中的空格和回车也被读了
while((ch=fgetc(fp))!=10)//fgetc(fp)返回的是int
{
if((ch)==' ') col++;//计算列数
}
rewind(fp);//将文件指针移到文件的开头
while(fgets(str,126,fp)!=NULL) //读文件的一行
{
p=str;
for(j=0;j<=col;j++)
{
while(*p==' ') p++;
arr[row][j]=*p++;
if(*p=='\n') break;
}
row++;
}
fclose(fp);
for(i=0;i<=row-1;i++)
{
for(j=0;j<=col;j++)
printf("%d ",arr[i][j]);
printf("\n");
}
return 1;
}