我想以比这更好的方式转换std::uint32为:std::vector<std::uint8>
std::uint32_t base_rva = 0xccddee00;
std::vector<std::uint8_t> vraw_data;
//copying base_rva to raw_data
vraw_data.resize(sizeof(base_rva));
std::memcpy(vraw_data.data(), &base_rva, sizeof(base_rva));
Run Code Online (Sandbox Code Playgroud)
我一直在寻找类似的东西:
std::vector<std::uint8_t> vraw_data((std::uint8_t*)&base_rva, sizeof(base_rva));
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
我一直在寻找类似的东西:
Run Code Online (Sandbox Code Playgroud)std::vector<std::uint8_t> raw_data((std::uint8_t*)&base_rva, sizeof(base_rva));
没有这样的构造函数std::vector,但假设您想将内部表示的副本存储std::uint32_t在 a 中std::vector<std::uint8_t>,您可以简单地执行以下操作
std::uint32_t data = 42;
std::vector<std::uint8_t> raw_data( (std::uint8_t*)&data
, (std::uint8_t*)&(data) + sizeof(std::uint32_t));
Run Code Online (Sandbox Code Playgroud)
根据std::vector构造函数的(4) 。
| 归档时间: |
|
| 查看次数: |
6267 次 |
| 最近记录: |