调用 qWarning("%s", qUtf8Printable(key)) 是安全的;

Is safe call qWarning("%s", qUtf8Printable(key));

Qt manu表示char指针在使用了qUtf8Printable()语句后会失效。这是因为 QString::toUtf8() 返回的数组将超出范围。

调用 qWarning("%s", Utf8Printable(key));qUtf8Printable(key) 也会超出范围吗?

这是安全的。用作参数的临时值一直存在到函数调用结束。