Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π² LinuxΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 84

Автор ΠœΡΡ‚ΡŒΡŽ НСйл

<b>int tcsetattr(int fd, int actions, const struct termios *termios_p);</b>

ПолС

actions
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
tcsetattr
управляСт способом внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°:

β–‘

TCSANOW
β€” измСняСт значСния сразу;

β–‘

TSCADRAIN
β€” измСняСт значСния, ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½;

β–‘

TCSAFLUSH
β€” измСняСт значСния, ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½, Π½ΠΎ отбрасываСт любой Π²Π²ΠΎΠ΄, доступный Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈ всС Π΅Ρ‰Π΅ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ
read
.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ настройки Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π° ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ сохранСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΈΡ… восстановлСниС послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ выполнСния всСгда ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π΅ΠΆΠΈΠΌΡ‹ ΠΈ связанныС с Π½ΠΈΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НСкоторыС характСристики Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² довольно спСциализированныС ΠΈ Ρ€Π΅Π΄ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, поэтому ΠΌΡ‹ остановимся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° основных. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π½Π°Ρ‚ΡŒ большС, просмотритС страницы ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ справочного руководства вашСй систСмы Π»ΠΈΠ±ΠΎ скопируйтС стандарт POSIX ΠΈΠ»ΠΈ X/Open.

НаиболСС Π²Π°ΠΆΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдуСт ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΈ, β€” Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ (local). ΠšΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΈ нСканоничСский Ρ€Π΅ΠΆΠΈΠΌΡ‹ β€” Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² вашСм ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ <Enter> ΠΈΠ»ΠΈ <Return> для чтСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΌ слСдуСт Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΆΠ΄Π°Ρ‚ΡŒ всю строку Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π°Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° Π²Π²ΠΎΠ΄, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ Π½Π°Π±Ρ€Π°Π½ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅.

Π Π΅ΠΆΠΈΠΌΡ‹ Π²Π²ΠΎΠ΄Π°

Π Π΅ΠΆΠΈΠΌΡ‹ Π²Π²ΠΎΠ΄Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ обрабатываСтся Π²Π²ΠΎΠ΄ (символы, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΎΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹) Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅Π³ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’Ρ‹ управляСтС Π²Π²ΠΎΠ΄ΠΎΠΌ, устанавливая Ρ„Π»Π°Π³ΠΈ Π² элСмСнтС

c_iflag
структуры
termios
. ВсС Ρ„Π»Π°Π³ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ макросы ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ поразрядной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
OR
. Π­Ρ‚ΠΎ свойствСнно всСм Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Π’ элСмСнтС

c_iflag
ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ макросы:

β–‘Β 

BRKINT
β€” Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π² Π»ΠΈΠ½ΠΈΠΈ связи обнаруТиваСтся Ρ€Π°Π·Ρ€Ρ‹Π² (потСря соСдинСния);

β–‘Β 

IGNBRK
β€” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹ соСдинСния Π² Π»ΠΈΠ½ΠΈΠΈ связи;

β–‘Β 

ICRNL
β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ символ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ Π² символ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку;

β–‘Β 

IGNCR
β€” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ символы Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ;

β–‘Β 

INLCR
β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ символы ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку Π² символы Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ;

β–‘Β 

IGNPAR
β€” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ символы с ошибками чСтности;

β–‘Β 

INCPK
β€” выполняСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ чСтности Ρƒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… символов;

β–‘Β 

PARMRK
β€” ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ошибки чСтности;

β–‘Β 

ISTRIP
β€” ΠΎΠ±Ρ€Π΅Π·Π°Π΅Ρ‚ (Π΄ΠΎ сСми Π±ΠΈΡ‚ΠΎΠ²) всС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ символы;

β–‘Β 

IXOFF
β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅;

β–‘Β 

IXON
β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Если Ρ„Π»Π°Π³ΠΈ

BRKINT
ΠΈ
IGNBRK
Π½Π΅ установлСны, сбой Π½Π° Π»ΠΈΠ½ΠΈΠΈ связи считываСтся ΠΊΠ°ΠΊ символ
NULL
(0x00).

Π’Π°ΠΌ Π½Π΅ придСтся часто ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Π²Π²ΠΎΠ΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ стандартныС значСния β€” Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящиС, ΠΈ поэтому ΠΌΡ‹ большС Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡ… ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ.

Π Π΅ΠΆΠΈΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄Π°

Π­Ρ‚ΠΈ Ρ€Π΅ΠΆΠΈΠΌΡ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ способом ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… символов, Ρ‚.Π΅. Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ символы, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ ΠΈΠ»ΠΈ экран. Как ΠΈ слСдовало ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… β€” оборотная сторона Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Π²Π²ΠΎΠ΄Π°. Π•ΡΡ‚ΡŒ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π»Π°Π³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны Π² основном с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ для ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ трСбуСтся врСмя для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°ΠΊΠΈΡ… символов, ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Ρ‹ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ. ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΎΠ½ΠΈ Π»ΠΈΠ±ΠΎ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹ стали быстрСС) ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… характСристик Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

terminfo
, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ·ΠΆΠ΅ Π² этой Π³Π»Π°Π²Π΅.

Π’Ρ‹ управляСтС Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°, устанавливая Ρ„Π»Π°Π³ΠΈ элСмСнта

c_oflag
структуры Ρ‚ΠΈΠΏΠ°
termios
. Π’ элСмСнтС
c_oflag
ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ макросы:

β–‘Β 

OPOST
β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²Ρ‹Π²ΠΎΠ΄Π°;

β–‘Β 

ONLCR
β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π² символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки ΠΏΠ°Ρ€Ρƒ символов Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ/ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки;

β–‘Β 

OCRNL
β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ любой символ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ Π² символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки;

β–‘Β 

ONOCR
β€” Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ символ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ Π² столбцС 0;

β–‘Β 

ONLRET
β€” символ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку выполняСт Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ;

β–‘Β 

OFILL
β€” посылаСт символы заполнСния для формирования Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ;

β–‘Β 

OFDEL
β€” примСняСт символ
DEL
ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ вмСсто символа
NULL
;

β–‘Β 

NLDLY
β€” Π²Ρ‹Π±ΠΎΡ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для символа ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку;

β–‘Β 

CRDLY
β€” Π²Ρ‹Π±ΠΎΡ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для символа Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ;

β–‘Β 

TABDLY
β€” Π²Ρ‹Π±ΠΎΡ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для символа табуляции;

β–‘Β 

BSDLY
β€” Π²Ρ‹Π±ΠΎΡ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для символа
Backspace
;

β–‘Β 

VTDLY
β€” Π²Ρ‹Π±ΠΎΡ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для символа Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ табуляции;

β–‘Β 

FFDLY
β€” Π²Ρ‹Π±ΠΎΡ€ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для символа ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ страницы.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Если Ρ„Π»Π°Π³

OPOST
Π½Π΅ установлСн, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.

Π Π΅ΠΆΠΈΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚ΠΎΠΆΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, поэтому ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡ… ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ Π² дальнСйшСм.

Π Π΅ΠΆΠΈΠΌΡ‹ управлСния

Π­Ρ‚ΠΈ Ρ€Π΅ΠΆΠΈΠΌΡ‹ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ характСристиками Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π’Ρ‹ Π·Π°Π΄Π°Π΅Ρ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ управлСния, устанавливая Ρ„Π»Π°Π³ΠΈ элСмСнта

c_cflag
структуры Ρ‚ΠΈΠΏΠ°
termios
, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ макросы:

β–‘Β 

CLOCAL
β€” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ линиями с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠ΄Π΅ΠΌΠ°;

β–‘Β 

CREAD
β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ΅ΠΌ символов;

β–‘Β 

CS5
β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ² Π² отправляСмых ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… символах;

β–‘Β 

CS6
β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡˆΠ΅ΡΡ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ² Π² отправляСмых ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… символах;

β–‘Β 

CS7
β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сСмь Π±ΠΈΡ‚ΠΎΠ² Π² отправляСмых ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… символах;

β–‘Β 

CS8
β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ восСмь Π±ΠΈΡ‚ΠΎΠ² Π² отправляСмых ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… символах;