gpt4 book ai didi

C++ 将二进制数组转换为类

转载 作者:行者123 更新时间:2023-11-28 03:00:45 26 4
gpt4 key购买 nike

如何将二进制数组转换为已知类?

基本上我有一个像这样的字节数组:

unsigned char * buff[sizeof(MyClass)];

我为每个字节使用 unsigned char,因为我假设它的长度为 1 个字节。

如何将此数组转换为我所知道的数据表示的内容?我已经从 MyClass 的内存中取出数据,并将其放入此缓冲区 - 现在我需要将其转换回 MyClass

我看过 reinterpret_cast 但我不确定它是否适用于此。

最佳答案

unsigned char* buff[sizeof(MyClass)]unsigned char* 的数组,这很可能是 48比你预期的大几倍。 (分别是 32 位和 64 位平台,尽管有些架构甚至具有不同的指针大小 - 吹毛求疵保护)

要回答问题的类型转换部分,reinterpret_cast<T*>(buff)将把 block 处理为 T* .

关于C++ 将二进制数组转换为类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20914390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com