Paradox_277 2021-12-20 16:29 采纳率: 33.3%
浏览 83

c语言文件读取数组变成乱码

在学生信息文件读取过程中,学号,成绩等数字信息全变成乱码了

这个是文本文件内容:

img

typedef struct
{
    int key; char name[9]; int age;
    char sex; int score;
}rectype;
FILE*f,*fp1;int choice,i;
    f = fopen(".\\stu1.txt", "r");
    for(int i=1;i<=4;i++)
    {
        fscanf(f, "%d %s %d %c %d", &R[i].key, R[i].name, &R[i].age, &R[i].sex, &R[i].score);
    }
    printf("文件中的学生信息是:\n");
    for (i = 1; i <= 4; i++)
    {
        printf("%d %s %d  %c %d\n", &R[i].key, R[i].name, &R[i].age, &R[i].sex, &R[i].score);
    }
    fclose(f);

数字位置全变成乱码了 表示性别的那个字符也乱码了

img

把文件格式改成ansi之后只是大致格式变整齐了其他的数字还是乱码
不知道为什么 求解答

  • 写回答

2条回答 默认 最新

  • fuill 2021-12-20 17:05
    关注

    把printf的&删掉

    
    FILE*f,*fp1;int choice,i;
        f = fopen(".\\stu1.txt", "r");
        for(int i=1;i<=4;i++)
        {
            fscanf(f, "%d %s %d %c %d", &R[i].key, R[i].name, &R[i].age, &R[i].sex, &R[i].score);
        }
        printf("文件中的学生信息是:\n");
        for (i = 1; i <= 4; i++)
        {
            printf("%d %s %d  %c %d\n", R[i].key, R[i].name, R[i].age, R[i].sex, R[i].score);
        }
        fclose(f);
     
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月20日

悬赏问题

  • ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
  • ¥15 目标跟踪,计算机视觉
  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
  • ¥200 C++表格文件处理-悬赏
  • ¥15 Windows Server2016本地登录失败
  • ¥15 复合卡卡号轨道写入芯片卡
  • ¥20 基于MATLAB的TDOA
  • ¥15 为啥输入字体突然变了
  • ¥20 已知坐标,换成MATLAB可以用的数据