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 functionsBIBLIOTEKA
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);
Wymagane ustawienia makr biblioteki glibc
(patrz feature_test_macros(7)):
isascii():
_XOPEN_SOURCE || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCEisblank():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112Lisalnum_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_SOURCEisascii_l():
Since glibc 2.10: _XOPEN_SOURCE >= 700 && (_SVID_SOURCE || _BSD_SOURCE) Before 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()
- checks for an alphabetic character; in the standard "C" locale, it is equivalent to (isupper(c) || islower(c)). In some locales, there may be additional characters for which isalpha() is true—letters which are neither uppercase nor lowercase.
- 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()
- checks for white-space characters. In the "C" and "POSIX" locales, these are: space, form-feed ( '\f'), newline ('\n'), carriage return ( '\r'), horizontal tab ('\t'), and vertical tab ( '\v').
- isupper()
- sprawdza, czy znak jest wielką literą.
- isxdigit()
- sprawdza, czy znak jest cyfrą szesnastkową,
czyli czy jest jednym z
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 |
STANDARDY
POSIX.1-2001 specifies isalnum(), isalpha(), isblank(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper(), and isxdigit(), and also isascii() (as an XSI extension). C99 specifies all of the preceding functions, except 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)TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <[email protected]>, Andrzej Krzysztofowicz <[email protected]>, Robert Luberda <[email protected]> i Michał Kułach <[email protected]> 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 [email protected]5 lutego 2023 r. | Linux man-pages 6.03 |