不知道为什么文本后面数据读取错误

img

img


#include 
#include 
#include 
#include 
typedef struct record
{
   char id[15];
   double a;
   double b;
   int c;
   int d;
   int e;
   int f;    
};
int main()
{
    FILE *fp;
    fp = fopen("users_records.txt","r");
    record y;
    fscanf(fp,"%s %lf %lf %d %d %d %d",y.id,&y.a,&y.b,&y.c,&y.d,&y.e,&y.f);
    fclose(fp);
    printf("%s %.2f %.2f %d %d %d %d",y.id,y.a,y.b,y.c,y.d,y.e,y.f);
    return 0;
}

去掉你的文本文件里的百分号
或者fscanf里面用%%去匹配%

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^