c++用fscanf读一个文件data.txt中的矩阵数字并存储在二维数组里,在data.txt中数字之间该怎样排布呢?

void Calucate()
{
FILE *fp;
float n;
if((fp=fopen(infile,"r"))==NULL)
{
cout<<"文件"<<"'"<<infile<<"'"<<"不存在,请输入文件是否存在"<<endl;
exit(1);
}
else
{
cout<<"文件"<<"'"<<infile<<"'"<<"读入成功"<<endl;
}
再是读行列数
fscanf(fp,"%d",&A);
fscanf(fp,"%d",&N);
程序没有问题,就是不知道data.txt中数字排布

我在一行中每个数字间用空格,但是不知道还有什么问题,老是不对

可以这样安排:
<行数><空格><列数>
<第1行数据>(数据间用空格分隔)
<第2行数据>(数据间用空格分隔)
……

读数据程序段:
fscanf(fp,"%d",&A); //读行数
fscanf(fp,"%d",&N); //读列数
for(i=0; i<A; i++)
for(j=0; j<N; j++)
fscanf("%d", &a[i][j]); //假定是整数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-25
行列数和数据最好分开放在不同的行上,数据类型统一
相似回答