声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2666|回复: 3

[C/C++] [求助数据写入错误,帮忙看一下,谢谢

[复制链接]
发表于 2009-10-17 16:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
编了一段采集数据后存储为.txt文件的代码,存储下来的float型数据只有前面一段是正确打开的,后面全部变成了乱码,打开文件发现隔一段好像丢了几个字节,我采集的正确的数最后一个字节基本都是40,抄写了一小段数据如下:
00 6B 37 40 00 D3 29 40  00 0D 0A 20 40 80 75 16,头两个字节是正确的,第三个字节开始错误了。
代码如下:
        FILE *Pfile;
        Pfile=fopen("F:\\record.txt","r");
        if  ( Pfile == NULL )
        {
                //没有创建文件,则创建文件
                Pfile=fopen("F:\\record.txt","w");
                //写入数据
                //fwrite(Y_Gwave,4,1000,Pfile);
                fwrite(Voltage,sizeof(float),60000,Pfile);                //Voltage写入60路数据
                fclose(Pfile);
        }
        else
        {
                //表示创建了,则关闭后,在用追加方式写入
                fclose(Pfile);
                Pfile=fopen("F:\\record.txt","a+");
                //写入数据
        //        fwrite(Y_Gwave,4,1000,Pfile);
                fwrite(Voltage,sizeof(float),60000,Pfile);
                fclose(Pfile);

        }

哪位帮忙看一下有什么问题,万分感谢阿。
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-10-18 14:36 | 显示全部楼层

再 顶一下 自己

帮帮忙吧 ,大家伙儿 :handshake
发表于 2010-10-1 13:59 | 显示全部楼层
本帖最后由 Rainyboy 于 2010-10-1 13:59 编辑

也不是所有的float都是以40H结尾的吧?

我用你那部分代码输出了{1,2,3,4,5,6,7,8,9,0},发现内存中的数据和文件中的数据是一致的啊,也许并不是这部分代码的问题吧?
QQ截图未命名2.jpg
QQ截图未命名.jpg
发表于 2010-10-18 09:06 | 显示全部楼层
格式化成字符串,再存储
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 15:31 , Processed in 0.088567 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表