在C++中将结构转换和存储为二进制
Convert and Store struct to binary in C++
我想将一个由各种数据类型(long,char[x],char*(组成的结构转换为二进制并将其存储在变量中(我不知道正确或最佳的数据类型(。
转换
对于字符串:我已经将每个字符转换为其 ascii 代码,然后将 ascii 代码从十进制转换为二进制。 对于数字:我已经将数字从十进制转换为二进制。
存储我将上述转换的输出存储
为 char[],由 '0' 和 '1' 组成。
我的问题是,如何将结构转换为二进制以及以哪种数据类型存储它。理想情况下,我想以二进制格式存储它,以便对其执行各种操作。(我使用的 char[] 数据类型似乎有点错误,因为它实际上是字符串,而不是二进制(
编辑:我宁愿避免使用标准C++中未包含的库。
我将上述转换的输出存储为 char[],由"0"和"1"组成。
只需将二进制数据存储为字节(例如,不是['1','1','1','1','0','1','1','1']
而是0xf7
(。每char
存储 8 位,存储的数据数量与数据一样多char
。如果您使用的是 c++17,请使用std::byte
而不是char
。
最好使用布尔向量作为存储,例如,按照您告诉的那样转换每个数据类型,然后将它们的输出放在向量中,然后按照它们放置在容器中的顺序检索它们。虽然,最好使用 std::byte 的向量。
相关文章:
- 如何使用 redis-plus-plus 存储二进制数据,就像我想存储结构一样?@for_stack?
- 在C++中将结构转换和存储为二进制
- 如何使用连接器 c++ 在 mySQL 表二进制(16) 字段中存储 c++ 字节数组?
- 如何将 numpy 二维数组作为一种可以用C++读取的二进制格式存储在磁盘上
- 无法在二进制文件中存储动态数组
- 将非数字字符串存储为二进制整数
- 如何将值从十进制存储为二进制,使其在 C++ 中将值保存在 6 位
- 如何存储霍夫曼转换后的二进制代码?
- 如何创建属性存储二进制文件
- Fread 是向后存储二进制
- 如何从 linux 二进制文件中存储和检索数据
- 将Protobuf字节类型存储在二进制文件中
- 如何在结构中存储二进制文件数据
- (C++) 如何从要存储在结构数组中的二进制文件中读取.dat信息?
- 保存和加载类数据存储在C 中的二进制文件中
- 在SD卡上读取和存储二进制GPS数据方面的问题
- 仅关心速度时,如何存储二进制数据
- MongoDB:我如何在c++的BSON中存储二进制数组
- 使用std::string来存储二进制数据是否不合适?
- 如何在c++数组中存储二进制输入