table of contents
- bookworm 1:4.18.1-1
- bookworm-backports 1:4.24.0-2~bpo12+1
- testing 1:4.24.0-2
- unstable 1:4.25.0-1
isalpha(3) | Library Functions Manual | 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 - funkcje klasyfikujące znaki
BIBLIOTEKA¶
Standardowa biblioteka C (libc, -lc)
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():
_XOPEN_SOURCE
|| /* glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 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():
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, wysuw strony (form-feed, „\f”), nowy wiersz, („\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-bezpieczne |
STANDARDY¶
POSIX.1-2001 określa isalnum(), isalpha(), isblank(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper() i isxdigit(), a także isascii() (jako rozszerzenie XSI). 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¶
Standard wymaga, aby argumentem c tych funkcji było albo EOF, albo wartość reprezentowalna w typie unsigned char. Jeśli argument c ma typ char, musi rzutować na unsigned char, jak w poniższym przykładzie:
char c; ... res = toupper((unsigned char) c);
Jest to konieczne, ponieważ char może być odpowiednikiem signed char; w takim przypadku bajt, w którym górny bit jest ustawiony, przy konwersji do int, miałby swój znak rozszerzony, co dałoby wartość poza zakresem 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)
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.
5 lutego 2023 r. | Linux man-pages 6.03 |