QString:sprintf一个很奇怪的有关问题
QString::sprintf一个很奇怪的问题C/C++ codestd::wstring ws L一二三abc四五六QString qs QString
QString::sprintf一个很奇怪的问题
C/C++ codestd::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();
用错了