标题:请大家帮忙
只看楼主
cn62577223
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2012-10-17
结帖率:0
已结贴  问题点数:20 回复次数:4 
请大家帮忙
float二进制是4个字节
可是我写到文件里怎么是5个字节

#include "stdlib.h"
#include "fstream.h"
int main(void)
{
    ofstream outbin("NBSGNA.qda");
    float ftemp=24.73;
    outbin.write((char*)&ftemp,sizeof(ftemp));
    outbin.close();
    return 1;
}
搜索更多相关主题的帖子: 二进制 return include void 
2012-10-17 21:54
cn62577223
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2012-10-17
得分:0 
我把C和C++混在一起了,现在整理了一下都用C++就不会出现这个问题
2012-10-18 12:24
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:7 
刚说了 再说一遍 C C++是两种语言 只不过C++向下兼容C 除此之外 不一样的地方多了去了
2012-10-18 12:36
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3450
专家分:19340
注 册:2012-3-31
得分:7 
看看

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-10-18 12:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:7 
其实,知道那些方法是什么意思,就不会搞混,搞混了就是不懂自己写的是什么。莫名其妙地强制(char*)&ftemp这个地址处的类型为字符串指针,就是要求write()方法将数据解释为字符串输出,那就是5个字符,输出操作很正常,只不过输出溢出了sizeof()的尺寸,是你运行环境的运气。

授人以渔,不授人以鱼。
2012-10-18 12:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-383467-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.431876 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved