DOKK / manpages / debian 11 / manpages-pl-dev / isalpha.3.pl
ISALPHA(3) Podręcznik programisty Linuksa ISALPHA(3)

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

#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);

Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

isascii():

_XOPEN_SOURCE
|| /* Glibc od 2.19: */ _DEFAULT_SOURCE
|| /* Glibc w wersji <= 2.19: */ _SVID_SOURCE

isblank():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l(), isxdigit_l():

_XOPEN_SOURCE >= 700
_GNU_SOURCE

isascii_l():

_XOPEN_SOURCE >= 700 && (_SVID_SOURCE || _BSD_SOURCE)
_GNU_SOURCE

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.

sprawdza, czy znak jest alfanumeryczny; jest to równoważne (isalpha(c) || isdigit(c)).
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.
sprawdza, czy c jest 7-bitową zmienną unsigned char, która należy do zbioru znaków ASCII.
sprawdza, czy znak jest pusty, czyli czy jest to spacja lub tabulacja.
sprawdza, czy znak jest znakiem sterującym.
sprawdza, czy jest to cyfra (0 do 9).
sprawdza, czy jest to jakikolwiek znak drukowalny oprócz spacji.
sprawdza, czy znak jest małą literą.
sprawdza, czy znak jest drukowalny (łącznie ze spacją).
sprawdza, czy znak jest drukowalny i nie jest spacją lub znakiem alfanumerycznym.
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").
sprawdza, czy znak jest wielką literą.
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.

Zwracana jest wartość niezerowa, jeśli znak c należy do sprawdzanej klasy, a zero jeśli nie należy.

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.

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

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.

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".

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)

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/.

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 manpages-pl-list@lists.sourceforge.net.

15 września 2017 r. GNU