求助!!!!使用c/c++读取16进制文件问题

顾染尘 2021-05-18 02:12:38
现在有一个16进制文件如图

格式是每4组表示一个数,文件中数字存储形式是float类型,想要将里面的16进制数转化为10进制的float类型存储在一个txt或者ini文件中,请问要怎么实现?

进制是左低位右高位。
例如:BA 12 2A 43 读取的值为170.073151





...全文
476 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
顾染尘 2021-05-19
  • 打赏
  • 举报
回复
解决链接: Java实现将16进制转10进制浮点型输出到文件中: https://blog.csdn.net/weixin_43917334/article/details/117033747 c语言16进制转txt可读文件: https://blog.csdn.net/weixin_43917334/article/details/117033192
赵4老师 2021-05-18
  • 打赏
  • 举报
回复
FILE *fp=fopen("d.txt","w"); fprintf(fp,"%g\n",f); fclose(fp);
赵4老师 2021-05-18
  • 打赏
  • 举报
回复
将起始地址对应的数强制类型转换为float *类型后,取其值即可。如果字节序反了,先颠倒一下。 float f; unsigend char b[4]={0xBA,0x12,0x2A,0x43}; f=*(float *)&b[0];
自信男孩 2021-05-18
  • 打赏
  • 举报
回复
先读取到缓存里(按照字符串),然后可以考虑调用sscanf,转换成对应数值,memcpy到int数据内(4个一组)
顾染尘 2021-05-18
  • 打赏
  • 举报
回复
已解决:方案 使用c语言把dat文件转txt文件然后使用Java按行读取txt,将每8个字符串进行一次转换

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧