vs C 交叉末日联盟
vs c++ cross endian union
可能的重复:
有什么方法可以通过Little Endian程序读取大型Endian数据?
我在项目中有下面的联合结构。有什么方法可以修改工会以大型末日格式阅读它?或获取正确数据类型的替代方法?
struct AptConstItem {
AptConstItemType type;
union {
const char *strvalue;
unsigned int numvalue;
};
};
谢谢。
您使用相同的基本技术,无论伊尼亚语如何:阅读大恩迪安:
uint32_t
readBigEndian( std::istream& binaryInput )
{
uint32_t result
= (binaryInput.get() << 24) & 0xFF000000;
result |= (binaryInput.get() << 16) & 0x00FF0000;
result |= (binaryInput.get() << 8) & 0x0000FF00;
result |= (binaryInput.get() ) & 0x000000FF;
return result;
}
对于小恩迪安(Little Endian),您只需扭转班次和口罩的顺序。
相关文章:
- 我们可以访问一个不存在的联盟的成员吗
- 视觉C++联盟,垃圾价值
- 让所有成员都活跃在C++联盟中安全吗
- 只有一个成员的匿名联盟
- 为什么C++被称为语言联盟?
- 是匿名联盟成员平等的指示
- 如何以复杂的方式创建联盟?
- 在联盟中,不愿命名的未命名结构的成员是错误或GCC错误
- 没有htonl/ntohl的联盟和终点
- 重新诠释联盟与不同的工会
- 可以在C 中实例化匿名联盟吗?
- 进入联盟中的课程
- 库达型双关语 - memcpy vs UB 联盟
- 为什么该浮点联盟的输出是NAN的
- 根据不同的类型,联盟成员仅在一个类中
- vs C 交叉末日联盟
- 联盟中的位字段 - 这是多么便携
- 取消引用指向联盟成员的指针
- C++编译错误:请求成员"c_cflag"不是结构或联盟
- 联盟内部结构