QString 转换为 uchar* 指针:完整指南与示例
QString 转换为 uchar* 指针的方法有多种,具体取决于您想要实现的功能。
如果您只是想将 QString 转换为 uchar* 并保持其编码不变,可以使用 QString 的 toUtf8() 函数将其转换为 QByteArray,然后使用 QByteArray 的 data() 函数获取 uchar* 指针。示例如下:
QString str = 'Hello World';
QByteArray byteArray = str.toUtf8();
uchar* data = reinterpret_cast<uchar*>(byteArray.data());
如果您想将 QString 转换为 uchar*,并且希望获得一个以 null 结尾的字符数组,可以使用 QString 的 toLatin1() 函数将其转换为 QByteArray,然后使用 QByteArray 的 data() 函数获取 uchar* 指针。示例如下:
QString str = 'Hello World';
QByteArray byteArray = str.toLatin1();
uchar* data = reinterpret_cast<uchar*>(byteArray.data());
请注意,在上述示例中,uchar* 指针指向的内存空间由 QString 和 QByteArray 管理,无需手动释放。如果您在使用这些数据的同时修改了原始的 QString 对象,可能会导致未定义的行为。
原文地址: https://www.cveoy.top/t/topic/oKZd 著作权归作者所有。请勿转载和采集!