将QByteArray转换为std :: vector <unsigned char>

雅各布战争

我试图转换QByteArraystd::vector<unsigned char>使用以下代码:

unsigned char* buffer = (unsigned char*)byteArrayBuffer.constData();
std::vector<unsigned char>::size_type size = strlen((const char*)buffer);
std::vector<unsigned char> bufferToCompress(buffer, buffer + size);

但是,假设这byteArrayBuffer是一个QByteArray充满数据的数据,我认为它不能很好地运行,unsigned char* buffer = (unsigned char*)byteArrayBuffer.constData();因为byteArrayBuffer.size()返回的值不同于bufferToCompress.size()

我该如何运作?

迈克·西摩

我对Qt不熟悉,但是您肯定只想

std::vector<unsigned char> bufferToCompress(
    byteArrayBuffer.begin(), byteArrayBuffer.end());

注意:strlen在C ++中不是特别有用;它告诉您C样式的以null终止的字符串的长度(通过搜索内存,直到找到或者找到一个零值字节,或者从可访问内存的末尾掉下来然后崩溃),但是却无法告诉您大小数组,这是您在这里需要的。同样,使用邪恶的C样式强制转换强制无效代码进行编译也不是一个好主意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Qt:将QPixmap保存到std :: vector <unsigned char>-或将QByteArray转换为std :: vector <unsigned char>

来自分类Dev

将ATL :: CString转换为std :: vector <unsigned char>

来自分类Dev

如何将未签名的char []转换为std :: vector <unsigned char>

来自分类Dev

将vector <unsigned long>转换为char缓冲区[]

来自分类Dev

std :: vector <unsigned char>到QPixmap

来自分类Dev

将 std::vector<T> 转换为 char *

来自分类Dev

使用memcpy,endian将unsigned long转换为std :: vector?

来自分类Dev

使用std :: vector <unsigned char>的内容初始化结构

来自分类Dev

从opencv imencode删除std :: vector <unsigned char>时发生异常

来自分类Dev

cpprestsdk (casablanca) json 值到 std::vector<unsigned char>

来自分类Dev

将const char **转换为std :: vector <const char *>

来自分类Dev

将std :: vector <char>转换为std :: string

来自分类Dev

将 void (*)() 转换为 void (*)(unsigned char)

来自分类Dev

如何将unsigned int转换为unsigned char数组

来自分类Dev

从`int`转换为`unsigned char`

来自分类Dev

将vector <unsigned char> {1,2,3}转换为字符串“ 1-2-3” AS DIGITS

来自分类Dev

如何多次使用 memcpy 来转换回 std::vector<unsigned char>?

来自分类Dev

将文件从Boost filter_streambuf解压缩到std :: vector <unsigned char>?

来自分类Dev

将“ unsigned char *”转换为“ char *”(和字符串)

来自分类Dev

如何将 const char* 转换为 const unsigned char*

来自分类Dev

从vector <unsigned char>写入PGM文件

来自分类Dev

从std :: vector <int>转换为char [] C ++

来自分类Dev

在std :: vector <unsigned char>中将std :: wstring编码为UTF-16的正确方法是什么?

来自分类Dev

将vector <vector <char >>转换为vector <string>

来自分类Dev

努力将vector <char>转换为wstring

来自分类Dev

将vector <string>转换为char ** C ++

来自分类Dev

错误:无法将std :: vector <std :: basic_string <char>>转换为std :: string *

来自分类Dev

如何在C中将unsigned char *转换为unsigned int *?

来自分类Dev

将POD结构/结构的矢量复制到vector <unsigned char>的最优雅方法

Related 相关文章

  1. 1

    Qt:将QPixmap保存到std :: vector <unsigned char>-或将QByteArray转换为std :: vector <unsigned char>

  2. 2

    将ATL :: CString转换为std :: vector <unsigned char>

  3. 3

    如何将未签名的char []转换为std :: vector <unsigned char>

  4. 4

    将vector <unsigned long>转换为char缓冲区[]

  5. 5

    std :: vector <unsigned char>到QPixmap

  6. 6

    将 std::vector<T> 转换为 char *

  7. 7

    使用memcpy,endian将unsigned long转换为std :: vector?

  8. 8

    使用std :: vector <unsigned char>的内容初始化结构

  9. 9

    从opencv imencode删除std :: vector <unsigned char>时发生异常

  10. 10

    cpprestsdk (casablanca) json 值到 std::vector<unsigned char>

  11. 11

    将const char **转换为std :: vector <const char *>

  12. 12

    将std :: vector <char>转换为std :: string

  13. 13

    将 void (*)() 转换为 void (*)(unsigned char)

  14. 14

    如何将unsigned int转换为unsigned char数组

  15. 15

    从`int`转换为`unsigned char`

  16. 16

    将vector <unsigned char> {1,2,3}转换为字符串“ 1-2-3” AS DIGITS

  17. 17

    如何多次使用 memcpy 来转换回 std::vector<unsigned char>?

  18. 18

    将文件从Boost filter_streambuf解压缩到std :: vector <unsigned char>?

  19. 19

    将“ unsigned char *”转换为“ char *”(和字符串)

  20. 20

    如何将 const char* 转换为 const unsigned char*

  21. 21

    从vector <unsigned char>写入PGM文件

  22. 22

    从std :: vector <int>转换为char [] C ++

  23. 23

    在std :: vector <unsigned char>中将std :: wstring编码为UTF-16的正确方法是什么?

  24. 24

    将vector <vector <char >>转换为vector <string>

  25. 25

    努力将vector <char>转换为wstring

  26. 26

    将vector <string>转换为char ** C ++

  27. 27

    错误:无法将std :: vector <std :: basic_string <char>>转换为std :: string *

  28. 28

    如何在C中将unsigned char *转换为unsigned int *?

  29. 29

    将POD结构/结构的矢量复制到vector <unsigned char>的最优雅方法

热门标签

归档