2201_76125047 2023-02-01 19:56 采纳率: 100%
浏览 39
已结题

关于读文件的一个问题

问题遇到的现象和发生背景

这是代码的一小部分,我想要将读完第一次后声明一个变量将第一次存起来 然后再判断条件再跳到第二次的位置,请问我这样声明变量将代码改成
这样行吗如果不行应该改成什么样子呢

size_t count = fread(&usb, 12, 1, fpRead);//读第一次
        if (count == 0)
        {
            break; // 到达文件末尾,退出循环
        }
        int usb1=fread(&usb, 12, 1, fpRead)
        if (0xF0 == usb.datasend && 0xA9 == usb.session)//判断条件
        {
            fseek(fpRead, usb.PayloadLength, SEEK_CUR);//跳到第二次开头的的位置
            fread(&usb, sizeof(USBHEADER),1, fpRead);  //读第二次

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
       size_t count = fread(&usb, 12, 1, fpRead);//读第一次
        if (count == 0)
        {
            break; // 到达文件末尾,退出循环
        }
        if (0xF0 == usb.datasend && 0xA9 == usb.session)//判断条件
        {
            fseek(fpRead, usb.PayloadLength, SEEK_CUR);//跳到第二次开头的的位置
            fread(&usb, sizeof(USBHEADER),1, fpRead);  //读第二次

运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

5条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-01 20:04
    关注

    好像是可以的,你把第一次读取到的数据记录下来的过程移除了,而实际上它不需要保存,只需要读取一次后判断条件即可,但是你的1行和6行用的是fread(&usb, 12, 1, fpRead);而10行又成了fread(&usb, sizeof(USBHEADER),1, fpRead);我建议在读第一次时,把读的字节数改为

    fread(&usb, sizeof(USBHEADER),1, fpRead);
    
    

    以读取正确的数据长度。
    第六行也是。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 2月9日
  • 已采纳回答 2月1日
  • 创建了问题 2月1日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测