社区
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文件内的顺序
请各位高手赐教,不胜感激!
...全文
232
5
打赏
收藏
float和int型数据写入dat文件后存储顺序相反
我用fread去读txt文件,然后将所读内容写入二进制的dat文件,写入后发现写入的float数据存储顺序与正确的存储顺序是相反的,int型数据也是一样. 例如: 42 01 33 33(十六进制) 这是正确的顺序 33 33 01 42 这是我写入dat文件内的顺序 请各位高手赐教,不胜感激!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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(瞌睡虫·星辰): 你真的好厉害...什么都懂,你收徒弟不?呵呵...
C语言读取和
写入
dat
文件
代码
C语言读取和
写入
dat
文件
注意路径 简单明了 仅供参考
matlab
文件
和
数据
的导入与导出.pptx
matlab
文件
和
数据
的导入与导出.pptx
一些资料-第三章 MATLAB程序设计基础.doc
一些资料-第三章 MATLAB程序设计基础.doc 大家可以看看的
住户水电费管理程序设计综合实验设计.doc.doc
住户水电费管理程序设计综合实验设计
可运行的C++流读写
该C++所读取的
数据
是由matlab获得的
数据
,其保存格式为.
dat
文件
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章