is, isw rutiny
Poznámky
Tyto rutiny test znaky zadané podmínky.
Je smysluplné výsledky v rutiny argument jakékoli celé číslo od –1 (EOF) na UCHAR_MAX (0xFF) včetně.Očekávané argument typ je int.
![]() |
---|
Pro je rutiny, procházející argument typu char mohou vést k neočekávaným výsledkům.Jednobajtové znak SBCS nebo MBCS typu char s hodnotou vyšší než 0x7F je záporná.Pokud char je předána, kompilátor může převést hodnotu na podepsané int nebo podepsané dlouhý.Tato hodnota může být prodloužena znaménko kompilátor neočekávané výsledky. |
Isw smysluplné výsledky v rutiny jakékoli celé číslo od-1 (WEOF) do 0xFFFF, včetně.Wint_t je typ dat definované v WCHAR.H jako nepodepsané krátké; může uchovávat všechny široký znak nebo celý znak konce souboru (WEOF) hodnotu.
Výstupní hodnota je ovlivněno nastavením LC_CTYPE kategorie nastavení národního prostředí; Viz setlocale Další informace.Verze tyto funkce bez _l příponu použít aktuální národní prostředí pro toto národní prostředí závislé na chování; verze s _l přípony jsou shodné s výjimkou, že používají místo Předaný parametr národního prostředí.
V národní "C" podmínky zkoušky je rutiny jsou následující:
isalnum
Alfanumerické znaky (A-Z, a – z nebo 0 – 9).isalpha
Abecední (A-Z nebo a-z).__isascii
Znak ASCII (0x00 – 0x7F).iscntrl
Řídicí znak (0x00 – 0x1F nebo 0x7F).__iscsym
Písmeno, podtržítko nebo číslice.__iscsymf
Písmeno nebo podtržítko.isdigit
Desítkové číslice (0 – 9).isgraph
Tisknutelné znaky kromě mezera ().islower
Malé písmeno (a-z).isprint
Tisknutelné znaky včetně mezeru (0x20 – 0x7E).ispunct
Znak interpunkce.isspace
Prázdný znak (0x09 – 0x0D nebo 0x20).isupper
Velké písmeno (A-Z).isxdigit
Šestnáctkové číslice (A – F, a – f nebo 0 – 9).
Pro isw rutiny, je výsledek testu pro zadanou podmínku nezávislé národní prostředí.Podmínky zkoušky isw funkce jsou následující:
iswalnum
iswalpha nebo iswdigit.iswalpha
Široký znak, je implementace definované sady pro které žádný z iswcntrl, iswdigit, iswpunct, nebo iswspace je nenulová.iswalphavrátí nenulovou pouze pro širokou znaky pro který iswupper nebo iswlower je nenulová.iswascii
Znak Wide reprezentace znaků ASCII (0x0000 – 0x007F).iswcntrl
Řídicí znak široký.__iswcsym
Jakékoli široký znak isalnum je PRAVDA nebo znak "_".__iswcsymf
Jakékoli široký znak iswalpha je PRAVDA nebo znak "_".iswctype
Znak má vlastnost určenou desc argument.Pro každou platnou hodnotu desc argument iswctype, jak je uvedeno v následující tabulce je proceduru ekvivalentní klasifikace celého znaku:Rovnocennost iswctype ( c, desc ) jiných rutin isw testování
Hodnota desc argument
iswctype ( c, desc ) ekvivalentní
ÚROVNĚ _ALPHA
iswalpha( c )
ÚROVNĚ _ALPHA | _DIGIT
iswalnum( c )
_CONTROL
iswcntrl( c )
_DIGIT
iswdigit( c )
ÚROVNĚ _ALPHA | _DIGIT | _PUNCT
iswgraph( c )
_LOWER
iswlower( c )
ÚROVNĚ _ALPHA | _BLANK | _DIGIT | _PUNCT
iswprint( c )
_PUNCT
iswpunct( c )
_SPACE
iswspace( c )
_UPPER
iswupper( c )
_HEX
iswxdigit( c )
iswdigit
Široký znak odpovídající znak desetinné čárky číslice.iswgraph
Tisknutelné znaky široký s výjimkou široký znak mezery (L' ').iswlower
Malé písmeno nebo jedna sada definovaná provádění široké znaků pro které žádný z iswcntrl, iswdigit, iswpunct, nebo iswspace je nenulová.iswlowervrátí nenulovou hodnotu pouze pro širokou znaky, které odpovídají na malá písmena.iswprint
Tisknutelné širokých znaků včetně široký znak mezery (L' ').iswpunct
Tisknutelné široký znak, který je ani široký znak mezery (L' ") ani široký znak, pro který iswalnum je nenulová.iswspace
Široký znak, odpovídá standardní znakem bílého místa nebo je jedna sada definovaná provádění široké znaků pro který iswalnum hodnotu false.Jsou standardní prázdné znaky: mezera (L' "), formfeed (L"\f"), nový řádek (L"\n"), CR (L"\r"), horizontální tabelátor (L"\t") a vertikální tabulátor (L"\v").iswupper
Široký znak, je velká nebo jednu sadu definované implementací široké znaků, pro které žádný z iswcntrl, iswdigit, iswpunct, nebo iswspace je nenulová.iswuppervrátí nenulovou hodnotu pouze pro širokou znaky, které odpovídají na velká písmena.iswxdigit
Široký znak, který odpovídá znak šestnáctkové číslice.
Příklad
// 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" );
}
}
Výsledek
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 .