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

Pad*_*dre 9 c++ qt

这段代码:

QString output("test1\ntest2");
qDebug() << output;
Run Code Online (Sandbox Code Playgroud)

导致这个输出:

"test1\ntest2"
Run Code Online (Sandbox Code Playgroud)

我想要的是:

"test1
test2"
Run Code Online (Sandbox Code Playgroud)

那么我如何使用qDebug()(和类似的输出函子)来打印包含多行换行符的QString?

Mik*_*ike 21

qDebug()是为调试目的,所以它避开非打印字符打印时加引号QString,QByteArray,QChar论点.

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

QString output("test1\ntest2");
qDebug().noquote() << output;
Run Code Online (Sandbox Code Playgroud)

警告:

qDebug(),qInfo(),qWarning(),qCritical()qFatal()都提供调试目的.它们并不意味着在生产代码中向用户显示某些内容.

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

  • 您能否解释一下为什么您认为所有 qDebug 消息并不意味着在生产代码中向用户显示某些内容? (2认同)