- C/C++ code
std::wstring ws = L"一二三abc四五六";QString qs = QString::fromStdWString(ws);char* p = qs.toUtf8().data();QString qs2;qs2.sprintf("%s", p); // aqs2.sprintf("%s", qs.toUtf8().data()) // b
以上代码,a处qs2得到的是乱码,b处才是正常的字符串,这是什么原因呢?
------解决方案--------------------
提示:
临时变量 的生命周期
野指针
------解决方案--------------------
提示
char* p = qs.toUtf8().data();
用错了