crlbajsoso 发表于 2009-10-17 16:29

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

编了一段采集数据后存储为.txt文件的代码,存储下来的float型数据只有前面一段是正确打开的,后面全部变成了乱码,打开文件发现隔一段好像丢了几个字节,我采集的正确的数最后一个字节基本都是40,抄写了一小段数据如下:
00 6B 37 40 00 D3 29 4000 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);

        }

哪位帮忙看一下有什么问题,万分感谢阿。

crlbajsoso 发表于 2009-10-18 14:36

再 顶一下 自己

帮帮忙吧 ,大家伙儿 :handshake

Rainyboy 发表于 2010-10-1 13:59

本帖最后由 Rainyboy 于 2010-10-1 13:59 编辑

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

我用你那部分代码输出了{1,2,3,4,5,6,7,8,9,0},发现内存中的数据和文件中的数据是一致的啊,也许并不是这部分代码的问题吧?

风花雪月 发表于 2010-10-18 09:06

格式化成字符串,再存储
页: [1]
查看完整版本: [求助数据写入错误,帮忙看一下,谢谢