让我们看一下这个小应用程序:
#include <QString>
#include <QDebug>
int main(int argc, char *argv[]) {
const auto test_string =
QString{"Some string \n \x01 \u0002 with some \r special chars"};
qDebug() << test_string;
qDebug(qPrintable(test_string));
}
它提供以下输出:
"Some string \n \u0001 \u0002 with some \r special chars"
Some string
special chars
Press <RETURN> to close this window...
这演示了 qDebug << 运算符如何具有将 QString 的所有特殊字符转换为一些可读字符串的功能,这些字符串可以很容易地放入 C++ 中的字符串声明中。
我想使用此功能将字符串输入自定义日志框架。是否有可能直接使用相同的转换功能?
实际上,这意味着将 test_string 转换为在上述两个 qDebug 语句上提供相同输出的 QString 实例。