is, isw procedury
Uwagi
Procedury te badania znaków dla określonych warunków.
Jest procedur uzyskanie znaczących wyników dla którykolwiek z argumentów liczba całkowita od –1 (EOF) do UCHAR_MAX (0xFF) włącznie.Typ argumentu oczekiwane jest int.
Przestroga |
---|
Dla jest procedur przekazywania argumentu typu char może przynieść nieprzewidywalne rezultaty.SBCS lub MBCS znaków jednobajtowych typu char o wartości większej niż 0x7F jest ujemna.Jeśli char jest przekazana, kompilator może przekonwertować tę wartość podpisanego int lub podpisany long.Wartość ta może być znak rozszerzony przez kompilator, nieoczekiwane wyniki. |
Isw procedur uzyskanie znaczących wyników na dowolną wartość całkowitą od – 1 (WEOF) do 0xFFFF, włącznie.Wint_t typ danych jest zdefiniowany w WCHAR.H jako krótko niepodpisane; może on przechowywać żadnych szerokich znaków lub szerokich znaków koniec pliku (WEOF) wartość.
Wartość wyjściowa jest zagrożony ustawienie z LC_CTYPE kategorii ustawienie regionalne; zobacz setlocale Aby uzyskać więcej informacji.Wersje te funkcje, bez _l sufiks za bieżące ustawienia regionalne to zachowanie zależnego od ustawień regionalnych; wersje z _l sufiks są identyczne, z wyjątkiem, że używają oni przekazany zamiast parametr ustawień regionalnych.
W ustawieniach regionalnych "C", badania, warunki dla jest procedur są w następujący sposób:
isalnum
Alfanumeryczne (– Z,-z, lub 0 – 9).isalpha
Litery (A-Z lub a-z).__isascii
Znak ASCII (0x00 – 0x7F).iscntrl
Znak kontroli (0x00 – 0x1F lub 0x7F).__iscsym
Litery, znaku podkreślenia lub cyfra.__iscsymf
Litery lub podkreślenia.isdigit
Cyfry dziesiętne (0 – 9).isgraph
Znak drukowalny, z wyjątkiem spacja ().islower
Małe litery (-z).isprint
Znak drukowalny, łącznie z miejsca (0x20 – 0x7E).ispunct
Znak interpunkcyjny.isspace
Znak białego odstępu (0x09 – 0x0D lub 0x20).isupper
Wielkie litery (-Z).isxdigit
Cyfra szesnastkowa (-F,-f lub 0 – 9).
Dla isw procedur, wynik testu na określony warunek jest niezależne od ustawień regionalnych.Warunki badania dla isw dostępne są następujące funkcje:
iswalnum
iswalphaor iswdigit.iswalpha
Szerokiego znaku, który jest jednym z zestawu zdefiniowane w implementacji, dla którego żaden z iswcntrl, iswdigit, iswpunct, lub iswspace jest różna od zera.iswalphaZwraca niezerowa tylko dla szerokości znaków, dla którego iswupper lub iswlower jest różna od zera.iswascii
Szerokich znaków reprezentacja znaków ASCII (0x0000 – 0x007F).iswcntrl
Szeroki znak kontrolny.__iswcsym
Żadnych szerokich znaków, dla którego isalnum jest true lub znaku '_'.__iswcsymf
Żadnych szerokich znaków, dla którego iswalpha jest true lub znaku '_'.iswctype
Znak ma określony przez właściwość desc argument.Dla każdego prawidłową wartość desc argumentu iswctype, istnieje rutynowych równoważne Klasyfikacja szerokich znaków, jak pokazano w poniższej tabeli:Równoważność iswctype ( c, desc ) do innych procedur badania isw
Wartość dla desc argument
iswctype ( c, desc ) równoważne
_ALPHA
iswalpha( c )
_ALPHA | _DIGIT
iswalnum( c )
_CONTROL
iswcntrl( c )
_DIGIT
iswdigit( c )
_ALPHA | _DIGIT | _PUNCT
iswgraph( c )
_LOWER
iswlower( c )
_ALPHA | _BLANK | _DIGIT | _PUNCT
iswprint( c )
_PUNCT
iswpunct( c )
_SPACE
iswspace( c )
_UPPER
iswupper( c )
_HEX
iswxdigit( c )
iswdigit
Szeroki znak odpowiadający cyfra po przecinku.iswgraph
Szeroki znak drukowalny, z wyjątkiem miejsca szerokość znaków (L' ').iswlower
Mała litera lub jeden z zdefiniowane w implementacji zestaw szerokości znaków, dla którego żaden z iswcntrl, iswdigit, iswpunct, lub iswspace jest różna od zera.iswlowerZwraca wartość różną od zera, tylko w przypadku szerokości znaków, które odpowiadają na małe litery.iswprint
Szeroki znak drukowalny, łącznie z miejsca szerokość znaków (L' ').iswpunct
Drukowalne szeroki znak, który jest ani miejsca szerokość znaków (L "") ani szerokości znaków, dla którego iswalnum jest różna od zera.iswspace
Szerokości znaków, odnosi się do standardowych znaków spacji lub jednego zdefiniowane w implementacji zestaw szerokości znaków, dla którego jest iswalnum ma wartość false.Standardowymi znakami spacji są: miejsce (L' '), wysuwu strony (L "\f"), nowego wiersza (L '\n'), znak powrotu karetki (L '\r'), tabulator poziomy (L "\t") i pionowe tab (L '\v').iswupper
Szerokości znaków, jest wielkimi literami lub jeden zestaw zdefiniowane w implementacji w szerokości znaków, dla którego żaden z iswcntrl, iswdigit, iswpunct, lub iswspace jest różna od zera.iswupperZwraca wartość niezerowa tylko dla szerokości znaków, które odpowiadają na wielkie litery.iswxdigit
Szeroki znak, który odpowiada znakowi cyfrę szesnastkową.
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" );
}
}
Dane wyjściowe
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 .