fread函数为何读取不到文件中的正确数据,望大佬检查指导!
#include <stdio.h>#include <stdlib.h>
#define N 2
struct xiaofei
{
char name[8];
float money;
char yy[10];
}xr[N], xc[N];
int main()
{
void duchu();
int i;
FILE *fp;
if((fp=fopen("jilu.txt","ab"))==NULL)
{
printf("error!\n");
exit(0);
}
for(i=0;i<N;i++){
printf("请输入消费者姓名:\n");
scanf("%s",&xr[i].name);
printf("请输入消费金额:\n");
scanf("%f",&xr[i].money);
printf("请输入消费原因:\n");
scanf("%s",&xr[i].yy);
}
fwrite(xr,sizeof(struct xiaofei),N,fp);
printf("稍等。。。。。\n");
duchu();
return 0;
}
void duchu()
{
int i;
FILE *fp;
if((fp=fopen("jilu.txt","ab"))==NULL)
{
printf("error!\n");
exit(0);
}
rewind(fp);
fread(xc,sizeof(struct xiaofei),N,fp);
for(i=0;i<N;i++)
{
printf("%s%f%s",xc[i].name,xc[i].money,xc[i].yy);
}
fclose(fp);
}
如果(写入和写出)在同一个函数中可以正确读取数据,为什么分开到两个函数中就读取不出来正确的数据了呢 显示0.000000000000??请求大佬指导!!