// QString 转 char*
QString smsg="{static_cast<void*>(smsg.trimmed().toUtf8().data())}{static_cast<void*>(smsg.trimmed().toUtf8().data())}";
QByteArray baba(smsg.trimmed().toUtf8()); //must
char* payload = static_cast<char*>(baba.data());
int length = smsg.trimmed().toUtf8().length();
qDebug()<<static_cast<char*>(payload);
// char* 转 QString
QByteArray getBytes(static_cast<char*>(payload), length);
QString getData(getBytes); //must
qDebug()<<getData;
我在函数内部输出字符从的时候,经常莫名其妙少字符。后来调查发现,在转换时候,一定要通过中间值QByteArray,否则就会丢数据。
转void*类似上述方法。