Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
isalnum, , iswalnum, , _isalnum_l_iswalnum_l
isalpha, , iswalpha, , _isalpha_l_iswalpha_l
isascii, , __isasciiiswascii
isblank, , iswblank, , _isblank_l_iswblank_l
iscntrl, , iswcntrl, , _iscntrl_l_iswcntrl_l
iscsym, iscsymf, , , __iscsymf_iscsymf_l__iswcsym__iswcsymf_iscsym_l_iswcsym_l__iscsym_iswcsymf_l
_isctype, , iswctype, , _isctype_l_iswctype_l
isdigit, iswdigit, , _isdigit_l,isgraph_iswdigit_l , iswgraph, , _isgraph_l_iswgraph_l
isleadbyte, _isleadbyte_l
islower, , iswlower, , _islower_l_iswlower_l
isprint, , iswprint, , _isprint_l_iswprint_l
ispunct, , iswpunct, , _ispunct_l_iswpunct_l
isspace, , iswspace, , _isspace_l_iswspace_l
isupper, , _isupper_l, , iswupper_iswupper_l
isxdigit, , iswxdigit, , _isxdigit_l_iswxdigit_l
Uwagi
Te procedury testowe znaki dla określonych warunków.
Procedury is generują znaczące wyniki dla dowolnego argumentu całkowitego z -1 (EOF) do UCHAR_MAX (0xFF), włącznie. Oczekiwany typ argumentu to int.
Uwaga
is W przypadku procedur przekazywanie argumentu typu char może spowodować nieprzewidywalne wyniki. Jednobajtowy znak typu char SBCS lub MBCS o wartości większej niż 0x7F jest ujemny. char Jeśli element zostanie przekazany, kompilator może przekonwertować wartość na wartość signed int lub signed long. Ta wartość może zostać przedłużona przez kompilator z nieoczekiwanymi wynikami.
Procedury isw generują znaczące wyniki dla dowolnej wartości całkowitej z -1 (WEOF) do 0xFFFF, włącznie. Typ wint_t danych jest definiowany jako <WCHAR.H> unsigned short. Może zawierać dowolny szeroki znak lub wartość końca pliku (WEOF).
Na wartość wyjściową ma wpływ ustawienie LC_CTYPE ustawienia kategorii ustawień regionalnych. Aby uzyskać więcej informacji, zobacz setlocale. Wersje tych funkcji bez sufiksu _l używają bieżących ustawień regionalnych dla tego zachowania zależnego od ustawień regionalnych. Wersje z _l sufiksem są identyczne, z tą różnicą, że używają parametru ustawień regionalnych przekazanych zamiast.
W ustawieniach regionalnych "C" warunki testu dla is procedur są następujące:
isalnum
Alfanumeryczne (A — Z, a – z, lub 0 – 9).
isalpha
Alfabetyczne (A - Z lub z).
__isascii
Znak ASCII (0x00 — 0x7F).
isblank
Poziomy znak tabulatora lub spacji (0x09 lub 0x20).
iscntrl
Znak kontrolny (0x00 — 0x1F lub 0x7F).
__iscsym
Litera, podkreślenie lub cyfra.
__iscsymf
Litera lub podkreślenie.
isdigit
Cyfra dziesiętna (od 0 do 9).
isgraph
Znak z możliwością drukowania z wyjątkiem spacji (0x20).
islower
Mała litera (a– z).
isprint
Znak z możliwością drukowania, w tym spacja (0x20 — 0x7E).
ispunct
Znak interpunkcyjny.
isspace
Znak odstępu (0x09 — 0x0D lub 0x20).
isupper
Wielka litera (A – Z).
isxdigit
Cyfra szesnastkowa (A — F, a — f lub 0 – 9).
isw W przypadku procedur wynik testu dla określonego warunku jest niezależny od ustawień regionalnych. Warunki testowania isw funkcji są następujące:
iswalnum
Usługa iswalpha lub iswdigit.
iswalpha
Każdy szeroki znak, który jest jednym z zestawu zdefiniowanego przez implementację, dla którego żaden z iswcntrl, iswdigit, iswpunctlub iswspace nie jest niezerowy. iswalpha Zwraca wartość nonzero tylko dla znaków szerokich, dla których iswupper lub iswlower jest niezerowy.
iswascii
Reprezentacja znaków ASCII (0x0000 — 0x007F).
iswblank
Szeroki znak odpowiadający standardowemu znakowi spacji lub jest jednym z zdefiniowanych w implementacji zestawu znaków szerokich, dla których iswalnum jest fałsz. Standardowe puste znaki to spacja (L' ') i karta pozioma (L'\t').
iswcntrl
Kontroluj szeroki znak.
__iswcsym
Dowolny szeroki znak, dla którego isalnum ma wartość true, lub znak "_".
__iswcsymf
Dowolny szeroki znak, dla którego iswalpha ma wartość true, lub znak "_".
iswctype
Znak ma właściwość określoną przez desc argument. Dla każdej prawidłowej desc wartości argumentu iswctype, istnieje równoważna rutyna klasyfikacji szerokiego znaku, jak pokazano w poniższej tabeli:
iswctype(c, desc) Równoważność innych isw procedur testowania
Wartość argumentu desc |
iswctype(c, desc) równoważny |
|---|---|
_ALPHA |
iswalpha(c) |
_ALPHA | _DIGIT |
iswalnum(c) |
_BLANK |
iswblank(c) |
_CONTROL |
iswcntrl(c) |
_DIGIT |
iswdigit(c) |
_ALPHA | _DIGIT | _PUNCT |
iswgraph(c) |
_LOWER |
iswlower(c) |
_ALPHA | _BLANK | _DIGIT | _PUNCT |
iswprint(c) |
_PUNCT |
iswpunct(c) |
_BLANK |
iswblank(c) |
_SPACE |
iswspace(c) |
_UPPER |
iswupper(c) |
_HEX |
iswxdigit(c) |
iswdigit
Znak szeroki odpowiadający znakowi cyfry dziesiętnej.
iswgraph
Znak szeroki z możliwością drukowania, z wyjątkiem znaku szerokości spacji (L' ').
iswlower
Mała litera lub jeden ze zdefiniowanych przez implementację zestawu znaków szerokich, dla których żaden z iswcntrlznaków , iswdigit, iswpunctlub iswspace nie jestzerowy. iswlower Zwraca wartość nonzero tylko dla znaków szerokich, które odpowiadają małym literom.
iswprint
Znak szeroki z możliwością drukowania, w tym znak szerokości odstępu (L' ').
iswpunct
Drukowalny szeroki znak, który nie jest znakiem szerokości przestrzeni (L' '), a nie szerokim znakiem, dla którego iswalnum nie jestzerowy.
iswspace
Szeroki znak odpowiadający standardowemu znakowi odstępu lub jest jednym ze zdefiniowanych w implementacji zestawu znaków szerokich, dla których iswalnum jest fałsz. Standardowe znaki odstępu to: spacja (), źródło formularza (L' 'L'\f'), nowy wiersz (L'\n'), powrót karetki (L'\r'), karta pozioma (L'\t') i karta pionowa (L'\v').
iswupper
Szeroki znak, który jest wielkimi literami lub jest jednym z zestawu znaków zdefiniowanych przez implementację, dla którego żaden iswcntrlz znaków , iswdigit, iswpunctlub iswspace nie jestzerowy. iswupper Zwraca wartość nonzero tylko dla znaków szerokich, które odpowiadają wielkim literom.
iswxdigit
Szeroki znak odpowiadający znakowi szesnastkowemu-cyfrowemu.
Przykład
// crt_isfam.c
/* This program tests all characters between 0x0
* and 0x7F, then displays each character with abbreviations
* for the character-type codes that apply.
*/
#include <stdio.h>
#include <ctype.h>
int main( void )
{
int ch;
for( ch = 0; ch <= 0x7F; ch++ )
{
printf( "%.2x ", ch );
printf( " %c", isprint( ch ) ? ch : ' ' );
printf( "%4s", isalnum( ch ) ? "AN" : "" );
printf( "%3s", isalpha( ch ) ? "A" : "" );
printf( "%3s", __isascii( ch ) ? "AS" : "" );
printf( "%3s", iscntrl( ch ) ? "C" : "" );
printf( "%3s", __iscsym( ch ) ? "CS " : "" );
printf( "%3s", __iscsymf( ch ) ? "CSF" : "" );
printf( "%3s", isdigit( ch ) ? "D" : "" );
printf( "%3s", isgraph( ch ) ? "G" : "" );
printf( "%3s", islower( ch ) ? "L" : "" );
printf( "%3s", ispunct( ch ) ? "PU" : "" );
printf( "%3s", isspace( ch ) ? "S" : "" );
printf( "%3s", isprint( ch ) ? "PR" : "" );
printf( "%3s", isupper( ch ) ? "U" : "" );
printf( "%3s", isxdigit( ch ) ? "X" : "" );
printf( ".\n" );
}
}
Wynik
00 AS C .
01 AS C .
02 AS C .
03 AS C .
04 AS C .
05 AS C .
06 AS C .
07 AS C .
08 AS C .
09 AS C S .
0a AS C S .
0b AS C S .
0c AS C S .
0d AS C S .
0e AS C .
0f AS C .
10 AS C .
11 AS C .
12 AS C .
13 AS C .
14 AS C .
15 AS C .
16 AS C .
17 AS C .
18 AS C .
19 AS C .
1a AS C .
1b AS C .
1c AS C .
1d AS C .
1e AS C .
1f AS C .
20 AS S PR .
21 ! AS G PU PR .
22 " AS G PU PR .
23 # AS G PU PR .
24 $ AS G PU PR .
25 % AS G PU PR .
26 & AS G PU PR .
27 ' AS G PU PR .
28 ( AS G PU PR .
29 ) AS G PU PR .
2a * AS G PU PR .
2b + AS G PU PR .
2c , AS G PU PR .
2d - AS G PU PR .
2e . AS G PU PR .
2f / AS G PU PR .
30 0 AN AS CS D G PR X.
31 1 AN AS CS D G PR X.
32 2 AN AS CS D G PR X.
33 3 AN AS CS D G PR X.
34 4 AN AS CS D G PR X.
35 5 AN AS CS D G PR X.
36 6 AN AS CS D G PR X.
37 7 AN AS CS D G PR X.
38 8 AN AS CS D G PR X.
39 9 AN AS CS D G PR X.
3a : AS G PU PR .
3b ; AS G PU PR .
3c < AS G PU PR .
3d = AS G PU PR .
3e > AS G PU PR .
3f ? AS G PU PR .
40 @ AS G PU PR .
41 A AN A AS CS CSF G PR U X.
42 B AN A AS CS CSF G PR U X.
43 C AN A AS CS CSF G PR U X.
44 D AN A AS CS CSF G PR U X.
45 E AN A AS CS CSF G PR U X.
46 F AN A AS CS CSF G PR U X.
47 G AN A AS CS CSF G PR U .
48 H AN A AS CS CSF G PR U .
49 I AN A AS CS CSF G PR U .
4a J AN A AS CS CSF G PR U .
4b K AN A AS CS CSF G PR U .
4c L AN A AS CS CSF G PR U .
4d M AN A AS CS CSF G PR U .
4e N AN A AS CS CSF G PR U .
4f O AN A AS CS CSF G PR U .
50 P AN A AS CS CSF G PR U .
51 Q AN A AS CS CSF G PR U .
52 R AN A AS CS CSF G PR U .
53 S AN A AS CS CSF G PR U .
54 T AN A AS CS CSF G PR U .
55 U AN A AS CS CSF G PR U .
56 V AN A AS CS CSF G PR U .
57 W AN A AS CS CSF G PR U .
58 X AN A AS CS CSF G PR U .
59 Y AN A AS CS CSF G PR U .
5a Z AN A AS CS CSF G PR U .
5b [ AS G PU PR .
5c \ AS G PU PR .
5d ] AS G PU PR .
5e ^ AS G PU PR .
5f _ AS CS CSF G PU PR .
60 ` AS G PU PR .
61 a AN A AS CS CSF G L PR X.
62 b AN A AS CS CSF G L PR X.
63 c AN A AS CS CSF G L PR X.
64 d AN A AS CS CSF G L PR X.
65 e AN A AS CS CSF G L PR X.
66 f AN A AS CS CSF G L PR X.
67 g AN A AS CS CSF G L PR .
68 h AN A AS CS CSF G L PR .
69 i AN A AS CS CSF G L PR .
6a j AN A AS CS CSF G L PR .
6b k AN A AS CS CSF G L PR .
6c l AN A AS CS CSF G L PR .
6d m AN A AS CS CSF G L PR .
6e n AN A AS CS CSF G L PR .
6f o AN A AS CS CSF G L PR .
70 p AN A AS CS CSF G L PR .
71 q AN A AS CS CSF G L PR .
72 r AN A AS CS CSF G L PR .
73 s AN A AS CS CSF G L PR .
74 t AN A AS CS CSF G L PR .
75 u AN A AS CS CSF G L PR .
76 v AN A AS CS CSF G L PR .
77 w AN A AS CS CSF G L PR .
78 x AN A AS CS CSF G L PR .
79 y AN A AS CS CSF G L PR .
7a z AN A AS CS CSF G L PR .
7b { AS G PU PR .
7c | AS G PU PR .
7d } AS G PU PR .
7e ~ AS G PU PR .
7f AS C .
Zobacz też
Klasyfikacja znaków
ustawienia regionalne
setlocale, _wsetlocale
Interpretacja sekwencji znaków wielobajtowych
to, funkcje