利用C读二进制文件

wwzlgx 2002-04-22 02:36:49
在c语言中,16进制的数据是如何存取的?按顺序分别读高八位和低八位,先读出的是高位还是低位?谢谢!
...全文
72 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyc_nj 2002-04-26
  • 打赏
  • 举报
回复
是的,正好说反了.对不起.
谢谢 jishiping
jishiping 2002-04-23
  • 打赏
  • 举报
回复
jyc_nj(老蔣) 刚好说反了。
在Intel的CPU中,先低位,后高位。在motorola系列的CPU的系统上,先高位,后低位。
  • 打赏
  • 举报
回复
C语言中,读取二进制数据是要用到流式文件格式,也就是依次顺序读取文件中的内容,而且是以字节为单位的。16进制也可以看作二进制数据,好比0x0F,就是00001111了。你可以用下面的程序来看看,到底是怎读出来的!

union MyB
{
char half;
int all;
};

void Read()
{
MyB input;
/*请在此前写入文件指针的调用和打开文件的相关语句*/
input = fgetc(fp);
printf("Read half of the Byte: %#x\n",input.half);
printf("Read all of the Byte: %#X",input.all);
fclose(fp);
}
color918 2002-04-23
  • 打赏
  • 举报
回复
和CPU有关了,又Big and little俩中
liem 2002-04-22
  • 打赏
  • 举报
回复
打开时用"b"方式
linjiework 2002-04-22
  • 打赏
  • 举报
回复
这个好像和系统有关系。
晨星 2002-04-22
  • 打赏
  • 举报
回复
使用iostream吧。
jyc_nj 2002-04-22
  • 打赏
  • 举报
回复
我不知道这算不算有点讨厌,但在用motorola系列的CPU的系统上就正好相反。
flcheng 2002-04-22
  • 打赏
  • 举报
回复
楼上对
jyc_nj 2002-04-22
  • 打赏
  • 举报
回复
写入是按字操作,那么按字节读,先高八位,后低八位。

69,373

社区成员

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

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