uchar * 转QByteArray示例代码
时间: 2024-11-03 10:13:42 浏览: 27
uchar * 类型通常表示无符号字符数组,而 QByteArray 是 Qt 库中的字节序列类型。如果你想从 uchar* 转换到 QByteArray,可以使用 QByteArray 的构造函数接受 const char* 或者直接将 uchar 数组传入。下面是一个简单的 C++ 示例代码:
```cpp
#include <QByteArray>
#include <vector>
uchar myCharArray[] = {0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64}; // Hello World in ASCII
// 使用 const char* 作为构造函数参数
QByteArray byteArrayFromCharPointer(const uchar* ptr) {
return QByteArray(ptr, sizeof(myCharArray)); // 注意这里传递的是数组长度,不是指针地址
}
// 或者直接从 uchar* 数组创建 QByteArray
QByteArray byteArrayFromUcharArray(uchar* arr) {
return QByteArray(arr);
}
// 如果你有一个 std::vector<uchar>,也可以转换
std::vector<uchar> ucharVector;
// ... (填充 vector)
QByteArray byteArrayFromVector(const std::vector<uchar>& vec) {
return QByteArray(vec.data(), vec.size());
}
阅读全文