Russian Qt Forum

Компиляторы и платформы => Mac OS X => Тема начата: Igors от Февраль 01, 2016, 11:00



Название: Непонятки с концами строк
Отправлено: Igors от Февраль 01, 2016, 11:00
Добрый день

В QLabel нужен текст из 2 параграфов. Загружаю этот текст из файла - получаю текст в 1 строку в QLabel. Ладно, проверяю так
Код
C++ (Qt)
const char * txt = "Line1\n\nLine2";
lab->setText(txt);
 
Все норм, в QLabel 2 строки, между ними пустая. Открываю файл в hex, там как ожидалось, 2 символа \n (0x0D). Проверяю считанную строку - то же самое, считалось верно. Наконец смотрю txt из примера выше в отладчике. Оба-на! Там вместо ожидаемых \n стоят \r (0x0A), см аттачи. И QLabel понимает \r, а \n нет.  Что за "алхимия"? Использую Xcode

Спасибо


Название: Re: Непонятки с концами строк
Отправлено: Old от Февраль 01, 2016, 11:04
Не благодарите:
Код
C++ (Qt)
qDebug() << int( '\n' ) << int( '\r' );
 
Цитировать
10 13


Название: Re: Непонятки с концами строк
Отправлено: Bepec от Февраль 01, 2016, 11:15
Вопрос что за алхимия - магия.
Используйте \r\n и не будет у вас проблем на любых системах.


Название: Re: Непонятки с концами строк
Отправлено: GreatSnake от Февраль 01, 2016, 12:49
Либо "<br>".


Название: Re: Непонятки с концами строк
Отправлено: Igors от Февраль 01, 2016, 12:51
Ага, просто попутал числа. Это мне редактор нативных ресурсов подсунул 0x0D (курва немецкая)

Спасибо, понял


Название: Re: Непонятки с концами строк
Отправлено: kambala от Февраль 01, 2016, 15:56
\r вроде было дефолтным концом строки в Mac OS Classic


Название: Re: Непонятки с концами строк
Отправлено: Igors от Февраль 02, 2016, 10:38
\r вроде было дефолтным концом строки в Mac OS Classic
Да, и таких файлов осталось немало