table of contents
- bullseye 1:4.10.0-1
- bullseye-backports 1:4.18.1-1~bpo11+1
- testing 1:4.18.1-1
- unstable 1:4.18.1-1
ISALPHA(3) | Podręcznik programisty Linuksa | ISALPHA(3) |
NAZWA¶
isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, isalnum_l, isalpha_l, isascii_l, isblank_l, iscntrl_l, isdigit_l, isgraph_l, islower_l, isprint_l, ispunct_l, isspace_l, isupper_l, isxdigit_l - character classification functions
SKŁADNIA¶
#include <ctype.h>
int isalnum(int c); int isalpha(int c); int iscntrl(int c); int isdigit(int c); int isgraph(int c); int islower(int c); int isprint(int c); int ispunct(int c); int isspace(int c); int isupper(int c); int isxdigit(int c);
int isascii(int c); int isblank(int c);
int isalnum_l(int c, locale_t locale); int isalpha_l(int c, locale_t locale); int isblank_l(int c, locale_t locale); int iscntrl_l(int c, locale_t locale); int isdigit_l(int c, locale_t locale); int isgraph_l(int c, locale_t locale); int islower_l(int c, locale_t locale); int isprint_l(int c, locale_t locale); int ispunct_l(int c, locale_t locale); int isspace_l(int c, locale_t locale); int isupper_l(int c, locale_t locale); int isxdigit_l(int c, locale_t locale);
int isascii_l(int c, locale_t locale);
isascii():
|| /* Glibc od 2.19: */ _DEFAULT_SOURCE
|| /* Glibc w wersji <= 2.19: */ _SVID_SOURCE
isblank():
isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l(), isxdigit_l():
- Od glibc 2.10:
- _XOPEN_SOURCE >= 700
- Przed glibc 2.10:
- _GNU_SOURCE
isascii_l():
- Od glibc 2.10:
- _XOPEN_SOURCE >= 700 && (_SVID_SOURCE || _BSD_SOURCE)
- Przed glibc 2.10:
- _GNU_SOURCE
OPIS¶
Funkcje te sprawdzają, czy c, które jest zmienną typu unsigned char lub wartością EOF, należy do pewnej klasy znaków określonej przez określone ustawienia regionalne (locale). Funkcje bez przyrostka "_l" przeprowadzają sprawdzenie w oparciu o bieżące locale.
Funkcje z przyrostkiem "_l" przeprowadzają sprawdzenie w oparciu o ustawienia regionalne określone przez obiekt locale locale. Ich zachowanie jest niezdefiniowane, jeśli locale nie jest specjalnym obiektem locale LC_GLOBAL_LOCALE (zob. duplocale(3)) albo nie jest prawidłowym uchwytem obiektu locale.
Poniższa lista wyjaśnia działanie funkcji bez przyrostka "_l". Funkcje z przyrostkiem "_l" różnią się wyłącznie tym, że używają obiekt locale locale, zamiast ustawień bieżących.
- isalnum()
- sprawdza, czy znak jest alfanumeryczny; jest to równoważne (isalpha(c) || isdigit(c)).
- isalpha()
- sprawdza, czy znak jest alfabetyczny; w standardowych ustawieniach regionalnych "C" jest to równoważne (isupper(c) || islower(c)). W niektórych ustawieniach językowych do klasy tej mogą należeć dodatkowe znaki, dla których isalpha() jest prawdziwe — litery, które nie są ani wielkie, ani małe.
- isascii()
- sprawdza, czy c jest 7-bitową zmienną unsigned char, która należy do zbioru znaków ASCII.
- isblank()
- sprawdza, czy znak jest pusty, czyli czy jest to spacja lub tabulacja.
- iscntrl()
- sprawdza, czy znak jest znakiem sterującym.
- isdigit()
- sprawdza, czy jest to cyfra (0 do 9).
- isgraph()
- sprawdza, czy jest to jakikolwiek znak drukowalny oprócz spacji.
- islower()
- sprawdza, czy znak jest małą literą.
- isprint()
- sprawdza, czy znak jest drukowalny (łącznie ze spacją).
- ispunct()
- sprawdza, czy znak jest drukowalny i nie jest spacją lub znakiem alfanumerycznym.
- isspace()
- sprawdza, czy znak jest białym znakiem. W ustawieniach regionalnych "C" i "POSIX" są to: spacja, nowa strona (form-feed, "\f"), nowa linia, ("\n")), powrót karetki ("\r"), tabulacja pozioma ("\t") i tabulacja pionowa ("\v").
- isupper()
- sprawdza, czy znak jest wielką literą.
- isxdigit()
- sprawdza, czy znak jest cyfrą szesnastkową, czyli czy jest
jednym z
0 1 2 3 4 5 6 7 8 9 0 a b c d e f A B C D E F.
WARTOŚĆ ZWRACANA¶
Zwracana jest wartość niezerowa, jeśli znak c należy do sprawdzanej klasy, a zero jeśli nie należy.
WERSJE¶
Fuckcje isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l(), isxdigit_l(), and isascii_l() są dostępne od glibc 2.3.
ATRYBUTY¶
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs | Atrybut | Wartość |
isalnum(), isalpha(), isascii(), isblank(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit() | Bezpieczeństwo wątkowe | MT-Safe |
ZGODNE Z¶
C89 określa isalnum(), isalpha(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper() i isxdigit(), lecz nie określa isascii() i isblank(). POSIX.1-2001 również opisuje te funkcje, łącznie z isascii() (jako rozszerzenie XSI) oraz isblank(). C99 określa wszystkie te funkcje z wyjątkiem isascii().
POSIX.1-2008 oznacza toascii() jako przestarzałą, zauważając, że nie może być używana w sposób przenośny w aplikacji obsługującej ustawienia regionalne.
POSIX.1-2008 opisuje isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l() oraz isxdigit_l().
isascii_l() jest rozszerzeniem GNU.
UWAGI¶
The standards require that the argument c for these functions is either EOF or a value that is representable in the type unsigned char. If the argument c is of type char, it must be cast to unsigned char, as in the following example:
char c; ... res = toupper((unsigned char) c);
This is necessary because char may be the equivalent of signed char, in which case a byte where the top bit is set would be sign extended when converting to int, yielding a value that is outside the range of unsigned char.
Szczegóły tego, które znaki należą do której klasy, zależą od ustawień regionalnych (locale). Np. isupper() nie rozpozna A-umlaut (Ä) jako wielkiej litery w domyślnym ustawieniu regionalnym "C".
ZOBACZ TAKŻE¶
iswalnum(3), iswalpha(3), iswblank(3), iswcntrl(3), iswdigit(3), iswgraph(3), iswlower(3), iswprint(3), iswpunct(3), iswspace(3), iswupper(3), iswxdigit(3), newlocale(3), setlocale(3), toascii(3), tolower(3), toupper(3), uselocale(3), ascii(7), locale(7)
O STRONIE¶
Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
15 września 2017 r. | GNU |