这段代码:
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()
都提供调试目的.它们并不意味着在生产代码中向用户显示某些内容.
请不要使用这些方法,除非您打印/记录一些调试语句.