Paddre Paddre - 2 months ago 43
C++ Question

How to print QString containing line breaks using qDebug

This code:

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


leads to this output:

"test1\ntest2"


What I want is:

"test1
test2"


So how can I use qDebug() (and similar output functors) to print a QString containing line break characters in multiple lines?

Answer

qDebug() is meant for debugging purposes, so it escapes non-printable characters and adds quotes when printing QString, QByteArray, QChar arguments.

Try using qDebug().noquote() as this disables escaping non-printable characters, like this:

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