Как праздник старого доброго Блокнота , мы будем рассматривать возврат каретки и перевод строки как то, что они изначально имели в виду, а не как они (ab-) используются сегодня.
Дана строка , состоящая из печати ASCII плюс каналы линии (␊; LF; ESC \n
; шестигранной 0A; разл 10) и возврат каретки (␍; CR; ESC \r
; шестигранный 0D; реш 13), причина попробовать Интернет , чтобы показать , как печатные символы будет расположен, если напечатано на принтере, который принимает эти два управляющих символа буквально:
- после перевода строки продолжайте печатать еще одну строку вниз
- при возврате каретки продолжить печать с левого края
- несколько последовательных возвратов каретки ведут себя как одиночный возврат каретки
Из-за того, что современные устройства имеют проблемы с перегрузкой , выполнение одного или нескольких возвратов каретки, за исключением начала ввода, никогда не произойдет без хотя бы одного предшествующего и / или последующего перевода строки. Однако два ряда возвратов каретки могут быть разделены одним переводом строки.
Любое количество дополнительных конечных пробелов допустимо как с правой стороны любых строк, так и под всем текстом, при условии, что сохраняется хотя бы количество пробелов, указанное во входных данных.
Примеры (использование \n
и \r
для перевода строки и возврата каретки)
Lorem ipsum dolor sit amet,
Lorem ipsum dolor sit amet,
consectetur adipiscing\nelit, sed
consectetur adipiscing
elit, sed
do eiusmod\r\ntempor incididunt\n\n ut labore
do eiusmod
tempor incididunt
ut labore
et dolore\n\rmagna \r\r\naliqua. Ut
(обратите внимание на пробелы)
et dolore
magna
aliqua. Ut
\nenim ad minim veniam,\n\r quis nostrud
Enim Ad Minim Veniam, Quis Nostrud
\rexercitation\r\n\rullamco laboris\n\r\nnisi ut aliquip ex\n\n\rea commodo consequat.\n\n
упражнение Ullamco Labouris Ниси ут аликип экс коммандос.
stty -onlcr;cat
.