Как получить вывод QString qDebug в виде строки? - PullRequest
0 голосов
/ 18 декабря 2018

Давайте посмотрим на это маленькое приложение:

#include <QString>
#include <QDebug>

int main(int argc, char *argv[]) {
  const auto test_string = 
    QString{"Some string \n \x01 \u0002 with some \r special chars"};
  qDebug() << test_string;
  qDebug(qPrintable(test_string));
}

Это дает следующий вывод:

"Some string \n \u0001 \u0002 with some \r special chars"
Some string
 special chars
Press <RETURN> to close this window...

Это демонстрирует, как оператор qDebug << имеет некоторую функциональность, которая преобразуетвсе специальные символы QString в некоторую читаемую строку, которую можно легко поместить в строковое объявление в C ++. </p>

Я хотел бы использовать эту функциональность для подачи строк в пользовательскую структуру ведения журналов.Есть ли возможность использовать одну и ту же функцию преобразования напрямую?

Фактически это будет означать преобразование test_string в экземпляр QString, который дает одинаковый вывод для обоих приведенных выше операторов qDebug.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...