如何使用qDebug

时间:2016-09-18 17:20:31

标签: c++ qt

此代码:

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

导致此输出:

"test1\ntest2"

我想要的是:

"test1
test2"

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

1 个答案:

答案 0 :(得分:18)

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

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

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

警告:

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

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