如何将 std::vector<uint8_t> 转换为 QByteArray?

How to convert std::vector<uint8_t> to QByteArray?

本文关键字:gt 转换 QByteArray uint8 vector lt std      更新时间:2023-10-16

我正在尝试从std::vector创建QByteArray。。我试过了;

std::vector<uint8_t> buf;
QByteArray img = new QByteArray(reinterpret_cast<const char>(buf), buf.size());

然而,它给出了错误;

error: invalid cast from type 'std::vector<unsigned char, std::allocator<unsigned char> >' to type 'const char'

您需要铸造buf.data()而不是buf:

QByteArray* img = new QByteArray(reinterpret_cast<const char*>(buf.data()), buf.size());