c++ - 结构到字节

标签 c++ serialization

我正在尝试使用 fread() 从文件中读取加密的结构数据。一旦我得到解密的结构字节,我想把它们放回这个结构中。

struct data
{
  std::string s1;
  std::string s2;
  std::string s3;
  LONG l;
};

如何将结构转换为可以从字节重构的字节?

最佳答案

问题是 std::string 不包含有问题的字节,它包含指向您实际要存储的字节的指针。您可能应该将每个字符串保存为一个空终止字符串,然后在文件中保存一个原始字符串。

如果您正在寻找类似 .NET 提供的“点击”序列化解决方案,您将无法在 C++ 中找到您想要的东西。 Boost's serialization library可能会有帮助,因为它会为您序列化一些标准库对象,但您需要自己实现这样的用户定义类。

关于c++ - 结构到字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706514/

相关文章:

c++ - 用于理解重构代码的 C/C++ 包

c++ - 在 map 中排序(字典顺序)

c++ - OpenMP 多线程建议

c# - 如何定义和编码 BSTR* 类型

c++ - 如何连接通过 cython 返回对象引用的 C++ 函数

java - 追加对象 OutputStream 时发生 ClassCastException

java - ORM:在 Hibernate/JPA 中用 JSON 代替 LOB

c# - C# Dictionary<string, List<string>>.GetObjectData() (serialization) 是否一致?

java - 我怎样才能使这个序列化工作?

c# - 如何实现部分序列化?