fread不能正常的将txt文档里的数据读入,显示出来的全是0,请高手们不吝赐教。在线等!!

#include<stdio.h>#include<stdlib.h>#include<string.h>main(){FILE*in;FILE*out;if((in=f... #include<stdio.h>

#include<stdlib.h>

#include<string.h>

main()

{

FILE *in;

FILE *out;

if ((in = fopen("data.txt","r"))== NULL)

{

printf("\n The file can not be opend \n");

exit(1);

}
int a1=60;

int a2=1024;

int i,j;

double * * array=NULL;

array = (double**) malloc (a1 * sizeof(double*));

for(i=0;i<a1;i++)

{

array[i]=(double *)malloc(a2*sizeof(double));
}

for(i=0;i<a1;i++)

{
fread(array[i],sizeof(double),1024,in);

}

fclose(in);

//fwrite(array[i],sizeof(double),1024,out);

for(i=0;i<60;i++)

{
for(j=0;j<1024;j++)

{

printf("%lf",array[i][j]);

}

}

for(i=0;i<a1;i++)

free(array[i]);

free(array);
}
展开
 我来答
pfkfengyun
2011-03-31 · TA获得超过167个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:177万
展开全部
不知道你data.txt中的double数据时怎么存进去的?你不能简单地在txt中输入ASCII的double字符串,然后再用fread来读的,这样你很难计算机里面的ASCII转换为什么的double函数。。
fread和fwrite是用来读写二进制的,假如你想直接读文本文档里面的double数字的字符串,应该有fsanf。。
fread一般只用来读fwrite写入的二进制文件,不然很可能就乱码了。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式