qt QString类型转unsigned char并放入数组中
时间: 2024-01-03 21:15:03 浏览: 143
CRC16的demo程序-QString类型16进制转换为ByteArray-每两位数据增加空格
可以使用QString的toUtf8()函数将字符串转换为UTF-8编码的char*,然后将char*强制转换为unsigned char*,最后将unsigned char*中的数据存入数组中。
示例代码如下:
```cpp
QString str = "hello world";
QByteArray byteArray = str.toUtf8();
unsigned char* data = reinterpret_cast<unsigned char*>(byteArray.data());
int size = byteArray.size();
// 将data中的数据存入数组中
unsigned char array[size];
std::copy(data, data + size, array);
```
需要注意的是,转换后的unsigned char数组大小为字符串长度加上一个结尾符号('\0')的大小。因此在存储数据时需要将数组大小设置为QByteArray的size()函数返回值加一。
阅读全文