Читаем Разработка приложений в среде Linux. Второе издание полностью

<p>16.5.5. Флаги режима вывода</p>

Флаги режима вывода модифицируют обработку выходных данных только в случае установки OPOST. Ни один из этих флагов не переносим, поскольку POSIX определяет только OPOST и называет его "реализация определена". Однако вы обнаружите, что настоящие приложения обработки терминалов часто нуждаются в обработке выходных данных, а флаги режима вывода, доступные в Linux, доступны также в большинстве систем Unix, включая SVR4.

Код терминала отслеживает текущий столбец, что позволяет подавить лишние символы возврата каретки ('\r') и преобразовать, где возможно, табуляцию в пробелы. Столбцы отсчитываются, начиная с нуля. Текущий столбец устанавливается в ноль всякий раз, когда передается или предполагается символ возврата каретки ('\r'), как может быть вызвано символом новой строки ('\n') при установке ONLRET или ONLCR, или когда текущий столбец установлен в единицу и передается символ забоя ('\b').

Флаги, работающие на с_oflag, перечислены ниже.

OPOSTЭто единственный флаг режима вывода, определенный в POSIX, который сообщает, что он включает обработку выходных данных, "определяемую реализацией". Если OPOST не установлен, к другим флагам режима вывода не обращаются и обработка выходных данных не выполняется.
OLCUCПри установке OLCUC символы нижнего регистра передаются терминалу как символы верхнего регистра. Этот флаг в POSIX не определен.
ONLCRПри установке ONLCR перед передачей символа новой строки ('\n') передается символ возврата каретки ('\r'). Текущий столбец устанавливается в ноль. Этот флаг в POSIX не определен.
ONOCRПри установке ONOCR символы возврата каретки ('\r') ни обрабатываются, ни передаются, если текущий столбец равен нулю. Этот флаг в POSIX не определен.
OCRNLПри установке OCRNL символы возврата каретки ('\r') преобразуются в символы новой строки ('\n'). При установке ONLRET текущий столбец устанавливается в ноль. Этот флаг в POSIX не определен.
ONLRETПри установке ONLRET во время передачи символа новой строки ('\n') или возврата каретки ('\r') текущий столбец устанавливается в ноль. Этот флаг в POSIX не определен.
OXTABSПри установке OXTABS символы табуляции преобразуются в пробелы. Позиции табуляции установлены после каждого восьмого символа, а количество передаваемых пробелов определяется текущим столбцом. Этот флаг в POSIX не определен.

Кроме того, существуют флаги задержки, которые устанавливать не нужно; они предназначены для компенсации старого, плохо спроектированного и на данный момент, к счастью, редко встречающегося оборудования. За управление флагами задержки ответственны библиотеки termcap и terminfo. Это означает, что в их модификации нет необходимости. В [37] они упомянуты как устаревшие. Ядро Linux не реализует их в данный момент, и, поскольку это свойство не пользуется спросом, они вряд ли будут реализованы в будущем.

<p>16.5.6. Управляющие флаги</p>

Флаги режима управления влияют на такие параметры протокола, как четность и управление потоком[114]. Флаги, устанавливаемые в с_cflag, описаны ниже.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных