社区
C语言
帖子详情
float和int型数据写入dat文件后存储顺序相反
nmyj1
2006-11-18 11:28:51
我用fread去读txt文件,然后将所读内容写入二进制的dat文件,写入后发现写入的float数据存储顺序与正确的存储顺序是相反的,int型数据也是一样.
例如: 42 01 33 33(十六进制) 这是正确的顺序
33 33 01 42 这是我写入dat文件内的顺序
请各位高手赐教,不胜感激!
...全文
218
5
打赏
收藏
float和int型数据写入dat文件后存储顺序相反
我用fread去读txt文件,然后将所读内容写入二进制的dat文件,写入后发现写入的float数据存储顺序与正确的存储顺序是相反的,int型数据也是一样. 例如: 42 01 33 33(十六进制) 这是正确的顺序 33 33 01 42 这是我写入dat文件内的顺序 请各位高手赐教,不胜感激!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nmyj1
2006-11-18
打赏
举报
回复
我已按您提供的程序进行了测试,结果显示Little endian,请问这是导致子序相反的原因吗?若是程序中应如何修改.
谢谢!
jixingzhong
2006-11-18
打赏
举报
回复
#include <stdio.h>
main () {
int i = 0x12345678;
if (*(char *)&i == 0x12)
printf ("Big endian\n");
else if (*(char *)&i == 0x78)
printf ("Little endian\n");
}
可以用这段代码,看看机器环境是 大端序 还是小端序
jixingzhong
2006-11-18
打赏
举报
回复
int 和 float 是多字节数据,
必须考虑机器字节序。
按照 2进制写的时候,
没考虑数据意义, 只是把内存中的数据按字节写入文件,
这样就导致了反序 ...
jixingzhong
2006-11-18
打赏
举报
回复
字节序 啊~~
liuchangyan
2006-11-18
打赏
举报
回复
jixingzhong(瞌睡虫·星辰): 你真的好厉害...什么都懂,你收徒弟不?呵呵...
[详细完整版]程序设计题.doc
设计程序:z=f(x,y)=(3.14*x- y)/(x+y),若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,并将x1、y1以 格式"%d,%d"
写入
到考生目录中Paper子目录下的新建
文件
design.
dat
中。 #include <stdio.h> void main()...
你必须知道的495个C语言问题
1.3 因为C语言没有精确定义类
型
的大小,所以我一般都用typedef定义
int
16和
int
32。然后根据实际的机器环境把它们定义为
int
、short、long等类
型
。这样看来,所有的问题都解决了,是吗? 1.4 新的64位机上的64位类
型
...
MySQL
数据
类
型
和运算符
Re: MySQL
数据
类
型
和运算符 ============================= #
数据
类
型
整数类
型
:五种 TINY SMALL MEDIUM
INT
BIG 浮点和定点小数类
型
:三种
FLOAT
DOUBLE DECIMAL 日期与时间
数据
类
型
:五种 YEAR -1 字符串类
型
...
QT5.9
dat
文件
数据
存储
与读取
最近工作需要将Can报文中部分
数据
提取出来,并存到
dat
文件
(因为
dat
文件
体积小),当需要
数据
分析的时候再从
dat
文件
中提取出来,考虑到
dat
只能存二进制
数据
,使用QBytearray
数据
格式进行
存储
读取 你好! 这是你第一...
Qt 自定义
dat
格式
文件
存储
(1)
要想写一个自定义结构体的
存储
文件
,第一步就是创建自己的结构体,但是由于不同系统的
存储
方式是不一样的,所以我们不能准确的知道自己创建的结构体的大小,那么我们就不能正确读取自己
写入
dat
文件
的
数据
,所以我们...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章