6.1 Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΈ: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
vis
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΈ ΠΏΠΈΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ: Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π»ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΈ, ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ, ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
ΠΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅ΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
vis
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ²ΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ΅ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² Π²ΠΈΠ΄Π΅
\nnn
, Π³Π΄Π΅
nnn
β Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
Vis
ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ "ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
" ΠΈΠ»ΠΈ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΡΠ°ΠΉΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
vis
Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» "ΡΠ°Π³ Π½Π°Π·Π°Π΄" ΠΊΠ°ΠΊ \010, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ:
$ cat x abc
$ vis < x
abc\010\010\010 ___
$
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ
vis
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
cat
Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²
$ cat ΡΠ°ΠΉΠ»1 ΡΠ°ΠΉΠ»2 ... | vis
...
$ cat ΡΠ°ΠΉΠ»1 ΡΠ°ΠΉΠ»2 ... | vis | grep '\\'
...
ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠΈΠΌ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ
sed
, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
'1'
Π²ΡΠ΄Π°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅:
$ sed -n 1 x
abcβββ___
$
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
sed
, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΠ½Π΅Π΅, ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
vis
. ΠΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
sed
ΠΊ Π½Π΅ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ:
$ sed -n 1 /usr/you/bin
$
ΠΠΈΡΠ΅Π³ΠΎ Π² ΠΎΡΠ²Π΅Ρ!
(Π’Π°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π½Π° PDP-11; Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌ Π΄Π»Ρ VAX
sed
Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π²Π²ΠΎΠ΄ Π±ΡΠ» Π²ΠΎΡΠΏΡΠΈΠ½ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½Π°Ρ ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ°.) Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ,
sed
Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ, ΠΈ ΠΌΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π°
getchar
ΠΈ
putchar
. ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅
getchar
ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ°ΠΉΠ», ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» (ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° "Π½Π΅ Π·Π½Π°Π΅Ρ", ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΎΠ½ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ
putchar(c)
ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΡΠ·Π°Π½ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ.
Π€ΡΠ½ΠΊΡΠΈΡ
printf(3)
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΡΠΌΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅. ΠΡΠ·ΠΎΠ²Ρ
printf
ΠΈ
putchar
ΠΌΠΎΠ³ΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅; Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ ΠΎΡΡΠ°Π·ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΡΠΈΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ². ΠΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ
scanf(3)
; ΠΎΠ½Π° ΡΠΈΡΠ°Π΅Ρ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ ΠΈ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π½Π° ΡΡΡΠΎΠΊΠΈ, ΡΠΈΡΠ»Π° ΠΈ Ρ.ΠΏ. ΠΡΠ·ΠΎΠ²Ρ
scanf
ΠΈ
getchar
ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ΅ΡΠ΅Π΄ΠΎΠ²Π°ΡΡΡΡ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΡ
vis
:
/* vis: make funny characters visible (version 1) */
#include <stdio.h>
#include <ctype.h>
main() {
Β int c;
Β while ((c = getchar()) != EOF)
Β if (isascii(c) &&
Β Β (isprint(Ρ) || c=='\n' || c=='\t' || c==' '))
Β Β putchar(c);
Β else
Β Β printf("\\%03o", c);
Β exit(0);
}
Getchar
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ· Π²Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ Π±Π°ΠΉΡ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ EOF, ΠΊΠΎΠ³Π΄Π° Π²ΡΡΡΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° (ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ). ΠΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠΈΠΌ, EOF Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°ΠΉΡΠΎΠΌ ΠΈΠ· ΡΠ°ΠΉΠ»Π°; Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅: Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΎΠ±ΡΡΡΠ½ΡΠ»ΠΎΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ "ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°". ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ EOF ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ ΡΡΡΠ΄Π½ΠΎ ΡΠΏΡΡΠ°ΡΡ Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ; ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΠΎΠΏΠΈΡΠ°Π½Π° ΠΊΠ°ΠΊ
int
(ΡΠ΅Π»Π°Ρ), Π°; Π½Π΅ ΠΊΠ°ΠΊ
char
(ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½Π°Ρ), ΡΠ°ΠΊ ΡΡΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Ρ
ΡΠ°Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ EOF. Π‘ΡΡΠΎΠΊΠ°
#include <stdio.h>
Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π‘ΠΈ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ (
/usr/include/stdio.h
), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ
EOF
. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
<stdio.h>
ΠΊΠ°ΠΊ ΠΊΡΠ°ΡΠΊΡΡ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°.
Π€Π°ΠΉΠ»
<ctype.h>
β Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π²
/usr/include
, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π΅Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΌΠ°ΠΊΡΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΌΠ°ΠΊΡΠΎΡΡ) Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π§ΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π»ΠΈ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π°Π±ΠΎΡΡ ASCII (Ρ.Π΅. Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π½ΡΡΠ΅ 0200) ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ Π»ΠΈ ΠΎΠ½, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π·Π΄Π΅ΡΡ
isascii
ΠΈ
isprint
. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ°Π±Π». 6.1. ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ
<ctype.h>
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ "ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ", "ΡΠ°Π±ΡΠ»ΡΡΠΈΡ" ΠΈ ΠΏΡΠΎΠ±Π΅Π» ΠΊΠ°ΠΊ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅.
isalpha(c)
| ΠΡΠΊΠ²Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π°Π»ΡΠ°Π²ΠΈΡΡ: a-z A-Z
|
isupper(c)
| ΠΡΠΎΠΏΠΈΡΠ½Π°Ρ Π±ΡΠΊΠ²Π°: A-Z
|
islower(Ρ)
| Π‘ΡΡΠΎΡΠ½Π°Ρ Π±ΡΠΊΠ²Π°: a-z
|
isdigit(c)
| Π¦ΠΈΡΡΠ°: 0-9
|
isxdigit(c)
| Π¨Π΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½Π°Ρ ΡΠΈΡΡΠ°: 0-9 a-f A-F
|
isalnum(c)
| ΠΡΠΊΠ²Π° ΠΈΠ»ΠΈ ΡΠΈΡΡΠ° |
isspace(c)
| ΠΡΠΎΠ±Π΅Π», ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ, ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ, ΡΠΈΠΌΠ²ΠΎΠ» Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ, ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠΈΠΌΠ²ΠΎΠ» Π²ΠΎΠ·Π²ΡΠ°ΡΠ° |
ispunct(c)
| ΠΠ΅ Π±ΡΠΊΠ²Π΅Π½Π½ΠΎ-ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ», Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ, Π½Π΅ ΠΏΡΠΎΠ±Π΅Π» |
isprint(c)
| ΠΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ: Π»ΡΠ±ΠΎΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» |
iscntrl(c)
| Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»: 0 <= Ρ < 040 || Ρ == 0177
|
isascii(c)
| Π‘ΠΈΠΌΠ²ΠΎΠ» ASCII: 0 <= Ρ <= 0177
|