苦亦甜 2022-01-08 15:00 采纳率: 0%
浏览 29

为什么输入的正确的用户名一直显示错误,且如果把注释部分添上是输出一堆乱码?

img

img

  • 写回答

1条回答 默认 最新

  • 关注

    (1)检查你的文件读取是否正确,把读取的数据打印出来看看,看看读取的内容是否正确(注意是否有多余的回车符)。
    代码修改如下:

    while(!feof(fp))
    {
        fscanf(fp,"%s%s",a[i].ID,a[i].mima);//这种写法要求id和密码之间用空格隔开,如果读取有错误,这里改成 fscanf(fp,"%s%s\n",a[i].ID,a[i].mima);试试
        //添加这一句,显示所有读取的内容
        printf("%s %s\n",a[i].ID,a[i].mima);
        i++;
    }
    
    

    (2)第22、23行没用,而且,会改变i的值,把22和23行删掉。
    (3)第35行的whie( strcmp() !=0 )改成while(1),不该也行

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 1月8日

悬赏问题

  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错