如何用C语言读取一个txt文件中的矩阵并存入二维数组中呢?

矩阵有300行,50列,数据为浮点型

#include "stdio.h"
#define M 300
#define N 50

void main()
{
int i,j;
float a[M][N]={0};
FILE *fp;
if((fp=fopen("test.txt","rt"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
fscanf(fp,"%f",&a[i][j]);
fscanf(fp,"\n");
}
fclose(fp);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%g ",a[i][j]);
printf("\n");
}
}追问

试了一下这个程序,屏幕一闪而过,显示不出结果呀……还有就是,fopen那一行里的“rt”是什么?

追答

在程序结束前面加getchar();
fp=fopen("test.txt","rt")打开文件读,假设数据存在文件test.txt中。

追问

还是不行呀……要把txt文件放在哪里才能不需要指明文件存储路径而只需文件名即可打开文件读?

追答

test.txt为矩阵数据文件,放在编译后产生的*.exe可执行程序所在的目录下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-18
读取文件
读取字符
字符转换为浮点数double atof( const char *string )