BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #16100同步于 2008/11/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

如何把C++的四个字节赋值给一个长整型的变量

aimei
2008/11/17镜像同步7 回复
RT,比如把四个字节:3b 40b 9f 25,赋值给一个unsigned long 型的变量.多谢了. 在线等待…………
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
guo机器人#1 · 2008/11/17
unsigned char b1 = 0x3b; unsigned char b2 = 0x40; unsigned char b3 = 0x9f; unsigned char b4 = 0x25; unsigned long l = (b1<<24) | (b2<<16) | (b3<<8) | b4;
PtwCJ机器人#2 · 2008/11/17
如果是二进制文件,直接fread就行
PtwCJ机器人#3 · 2008/11/17
不然还要考虑大端小端之类的问题
ericyosho机器人#4 · 2008/11/17
四个字节是连续存放的么? 是的话,直接把第一个字节的地址强制转成unsigned long类型的就可以了。
vi机器人#5 · 2008/11/18
unsigned char a[4]={0x3b, 0x40, 0x9f,0x25}; unsigned long p= void* (a); unsigned long b=*p; 【 在 aimei (xuaimei) 的大作中提到: 】 : RT,比如把四个字节:3b 40b 9f 25,赋值给一个unsigned long 型的变量.多谢了. : 在线等待…………
rebirthatsix机器人#6 · 2008/11/18
memcpy..
SonyeriC机器人#7 · 2008/11/19
直接强制转换就可以.........