C语言从DAT文件读取矩阵并保存到二维数组中

FILE *fp=0;
int A[30][30];
int i,j;
fp=fopen("k_matrix.dat","r");
if(!fp)return 0;

for(i=0;i<30;i++){
for(j=0;j<30;j++){
fscanf(fp,"%d",&A[i][j]);}}
fclose(fp);

这是我的代码,但是读取之后显示数组里全是0.0,求解

第1个回答  2014-06-08
把数据文件 k_matrix.dat 的部分数据发上来。追问

追答

数据文件格式不对,应该是无任何文本格式的,以空白符('\n',' '或'\t')隔开的纯数据文件。

追问

老师给的就是这样。。我用excel打开的

追答

EXEC文件中有很多“格式”控制字符,这样的文件是不公开的,如何读取这样的文件只有MS知道。建议你将数据复制到.TXT文件下,删除不必要的格式控制符,形成只有空白符隔开的纯数据文件,然后再用你的代码读取即可。

本回答被提问者采纳
第2个回答  2014-06-08
文件k_matrix.dat中有数据吗?
第3个回答  2014-06-08
请你打印一下fscanf的返回值,个人认为你好像只读取了文件的第一个整型数据到数组的所有位置,你应该再好好看一下fscanf函数
相似回答