Russian Qt Forum

Qt => Вопросы новичков => Тема начата: deMax от Июль 31, 2015, 15:57



Название: [РЕШЕНО] qDebug в Qt5.5 выводит символы \n
Отправлено: deMax от Июль 31, 2015, 15:57
Код:
qDebug()<<QString("test\n");
выводит "test\n", как заменить \n на новую строку


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: gil9red от Июль 31, 2015, 20:18
Qt 4.8.*

У меня все нормально вывелось:
Запускается C:\Qt\Examples\Qt-5.4\widgets\itemviews\build-addressbook-Desktop_Qt_5_4_2_MinGW_32bit-Debug\debug\addressbook.exe...
"test
"
C:\Qt\Examples\Qt-5.4\widgets\itemviews\build-addressbook-Desktop_Qt_5_4_2_MinGW_32bit-Debug\debug\addressbook.exe завершился с кодом 0


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: torwig от Август 01, 2015, 07:52
Только что попробовал. Qt5.5.0 VS2013 32bit:
Такой код
Код:
qDebug() << QString("test\n");
qDebug() << "test\n";
дает вывод:
Код:
Запускается ....
"test\n"
test

... завершился с кодом 0
Может мне снилось, но что-то читал об этом, нововведение что ли, с utf8 связано, но точную формулировку не знаю. :)


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: Bepec от Август 01, 2015, 10:44
А вот так вот что выведет?
Код:
qDebug() << QString("test\r\n");


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: torwig от Август 03, 2015, 07:42
Код
Код:
qDebug() << QString("test\r\n");
qDebug() << "test\r\n";
выводит  :)
Код:
Запускается ...
"test\r\n"
test

... завершился с кодом 0


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: Fregloin от Август 03, 2015, 10:21
а qDebug("test\n");?


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: Пантер от Август 03, 2015, 10:32
На ЛОРе было недавно обсуждение https://www.linux.org.ru/forum/development/11795034
Может, это из той же оперы.


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: qate от Август 03, 2015, 10:32
Код:
qDebug()<<QString("test\n");
выводит "test\n", как заменить \n на новую строку

Благодари за это Thiago Macieira (автор передлки qdebug)
https://bugreports.qt.io/browse/QTBUG-47316


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: deMax от Август 03, 2015, 11:38
Благодари за это Thiago Macieira (автор передлки qdebug)
https://bugreports.qt.io/browse/QTBUG-47316
так правильнее: перделки. Когда починят?
Придется писать qDebug()<<txt.toLocal8Bit().data(); так как qDebug()<<"test\n"; работает правильно.


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: __Heaven__ от Август 03, 2015, 11:40
Вообще, в отображении спецсимволов что-то есть... Но, имхо, это должно регулироваться макросом.


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: qate от Август 03, 2015, 12:07
в конце багрепорта есть кодеревью - надо пробовать его


Название: Re: qDebug в Qt5.5 выводит символы \n
Отправлено: deMax от Август 03, 2015, 12:17
Вообще, в отображении спецсимволов что-то есть... Но, имхо, это должно регулироваться макросом.
Там и было толковое предложение, для тех кто хочет видеть спец символы пусть добавят:
qDebug().escape() << myString;
А то char* без спец символов, а QString со спец символами. Это однозначно баг.