每当我需要定义文件结构时,我使用特定于编译器的命令(如#pragma pack(1)
)来确保我可以安全地读取和写入此文件,而不必担心填充问题。
但是,还有其他方法可以达到同一目标吗?我不需要对复杂对象进行去/序列化,只需要POD类型。
答案 0 :(得分:1)
不可能定义一个总是很好地映射到类型的内存中表示的跨平台二进制格式。
定义跨平台文件格式的两个选项是:
答案 1 :(得分:0)
Boost Serialization Library可能是一个选项,如果您希望快速解决并且没有太多麻烦。