标题:fread函数为何读取不到文件中的正确数据,望大佬检查指导!
只看楼主
juele
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2020-3-10
结帖率:66.67%
已结贴  问题点数:19 回复次数:1 
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??请求大佬指导!!
搜索更多相关主题的帖子: 函数 printf 数据 fread 读取 
2020-03-26 22:41
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:19 
main里缺少fclose
另外读之前打开的时候应该"rb",起码"ab+"吧

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-03-26 22:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-500632-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.615940 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved