QT_BEGIN_NAMESPACE
inline void PrintTo(const QString &qString, ::std::ostream *os)
{
*os << qUtf8Printable(qString);
}
QT_END_NAMESPACE
*os << "\"" << qUtf8Printable(qString) << "\"";
来源:Justin Noel,高级咨询工程师的网络研讨会ICS Qt测试驱动开发使用Google测试和Google模拟
qUtf8Printable
(qPrintable
会转换为“本地8位”,可能不是Unicode干净的,特别是在Windows上);如果您想打印QString
并转义非可打印字符,则可以通过QDebug
(可能在托管QByteArray
的QBuffer
上操作)进行。 - peppe