реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Особенности форматируемого ввода/вывода, вопрос по С а может UNIX
SasaVitebsk
сообщение Nov 16 2006, 21:51
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Закончил драйвер LCD дисплея (упрощённый, но явно достаточный). Столкнулся с непонятной (для меня) вещью. По финишу работы стандартной ф-ии puts() выводится код 0xa (/n). По терминалу VT100 и даже нашему 15ИЭ0013 smile.gif - это код 'LF' или наш вариант 'ПС' (LineFeed/Перевод строки). По моему понятию должен заканчиваться 0xd (CR/Enter/ВК-ВозвратКаретки).

Вопросы:
1) Должен ли я его дополнять CR?
2) Если должен, то что я должен выводить по CR?

Всё это несколько непонятно. Если мне не изменяет память, то терминал может дополнять символ CR символом LF, но чтобы наоборот я не сталкивался. Если же не дополнять, то не очень удобно пользоваться.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 16 2006, 22:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SasaVitebsk @ Nov 16 2006, 23:51) *
По моему понятию должен заканчиваться 0xd (CR/Enter/ВК-ВозвратКаретки).

Тем не менне LF это 'правильное' и документированное поведение puts();

Цитата
1) Должен ли я его дополнять CR?

Никто никому ничего не должен - нужно CR+LF - дополняйте.
Цитата
2) Если должен, то что я должен выводить по CR?

??? Не понял - его и выводите, если надо.
Цитата
Всё это несколько непонятно. Если мне не изменяет память, то терминал может дополнять символ CR символом LF, но чтобы наоборот я не сталкивался.

Хорошие терминалы могут дополнять как угодно. Мненее хорошие можно заставить сначала перекодировать LF в CR а протом дополнить. Редко какой не может дополнить CR LFом.
Посему вполне безопасно использовать с неизвестным терминалом одиночный CR.

Ну а если использовать максимально хороший :-) терминал - то это ZOC.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 16 2006, 22:30
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Спасибо за информацию. Я не использую терминал, я его эмулирую на LCD. Чтобы форматируемый ввод/вывод работал.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01397 секунд с 7
ELECTRONIX ©2004-2016