c++ - 如何使用 qDebug 打印包含换行符的 QString

标签 c++ qt

这段代码:

QString output("test1\ntest2");
qDebug() << output;

导致此输出:

"test1\ntest2"

我想要的是:

"test1
test2"

那么如何使用qDebug()(以及类似的输出函数)来打印包含多行换行符的QString

最佳答案

qDebug()用于调试目的,因此它转义不可打印的字符并在打印 QStringQByteArrayQChar 参数时添加引号。

尝试使用 qDebug().noquote()因为这会禁用转义不可打印的字符,如下所示:

QString output("test1\ntest2");
qDebug().noquote() << output;

警告:

qDebug()qInfo()qWarning()qCritical() qFatal() 都是为 debugging purposes 提供的.它们并不是要在生产代码中向用户显示某些内容。

请不要使用这些方法,除非您正在打印/记录一些调试语句。

关于c++ - 如何使用 qDebug 打印包含换行符的 QString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39560530/

相关文章:

c++ - 如何在Qdialogbox的linedits中填充值?

C++ 等效于 R 列表

C++ Windows 二进制文件 : conditions to be used with MinGW

c++ - 从 Qt 中的内存映射文件流式传输

c++ - 加载 Qt 共享库时 Qt 小部件不显示

c++ - 在 qmake 工程文件中指定 qrc_foo.cpp 文件的路径

c++ - 之前和之后的 lower_bound 和 upper_bound

Java 到 C/C++,或者至少得到 Java 转换后的代码

c++ - 如何在类模板的成员函数中正确调用函数对象?正在生成 Visual Studio 编译器错误 C2440

c++ - QwtPlotCurve 没有显示在图表上