is, isw — Procedury
__iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l |
|
Uwagi
Te procedury badają znaki dla określonych warunków.
The is rutyna tworzy znaczące wyniki dla dowolnego całkowitego argumentu od –1 (EOF) do UCHAR_MAX (0xFF), łącznie.Oczekiwano następującą liczbę argumentów int.
Przestroga |
---|
W przypadku procedur is, przekazywanie argumentu typu char może przynieść nieprzewidywalne rezultaty.Znak jednobajtowy SBCS lub MBCS typu char o wartości większej niż 0x7F jest ujemny.Jeśli char zostanie przekazana, kompilator może przekonwertować tę wartość na oznaczona int lub oznaczona długa.Ta wartość może być rozszerzona o znak przez kompilator, o nieoczekiwane wyniki. |
isw rutyna tworzy znaczące wyniki dla dowolnej wartości liczby całkowitej od –1 (WEOF) do O0xFFFF, łącznie.Wint_t typ danych jest zdefiniowany w WCHAR.H jako niepodpisanych krótki; może on przechowywać jakiekolwiek szerokie znaki lub całe znaki końca pliku (WEOF) wartość.
Wartość wyjściowa jest zależna od konfiguracji ustawień kategorii LC_CTYPE ustawień regionalnych; zobacz setlocale, aby uzyskać więcej informacji.Wersje tych funkcji, które nie mają przyrostka _l używają bieżących ustawień regionalnych dla wszelkich zachowań zależnych od ustawień lokalnych; wersje, które mają przyrostek _l są identyczne, z tą różnicą, że w zamian korzystają z przekazanego parametru ustawień regionalnych.
W ustawieniach regionalnych języka „C”, warunki badania dla procedur są następujące:
isalnum
Alfanumeryczne (A – Z, a – z, or 0 – 9).isalpha
Alfabetyczne (A – Z lub a – z).__isascii
Znak ASCII (0x00 – 0x7F).isblank
Tabulator poziomy lub znak spacji (0x09 lub 0x20).iscntrl
Znak sterujący (0x00 – 0x7F lub 0x1F).__iscsym
Litera, podkreślenie lub cyfra.__iscsymf
Litera lub podkreślenie.isdigit
Cyfra dziesiętna (0 – 9).isgraph
Znak drukowalny z wyjątkiem miejsca ( ).islower
Mała litera (a–z).isprint
Znak drukowalny zawierający przestrzeń (0x20 — 0x7E).ispunct
Znak interpunkcyjny.isspace
Odstęp (0x09 — 0x0D lub 0x20).isupper
Wielka litera (A–Z).isxdigit
Cyfra szesnastkowa (A – F, a – f lub 0 – 9).
W przypadku procedur isw, wynik badania dla określonego warunku zależy od ustawień regionalnych.Warunki testów dla isw funkcji są są następujące:
iswalnum
iswalpha lub iswdigit.iswalpha
Każdy znak dwubajtowy, który jest jednym ze zdefiniowanych w implementacji zestawem, dla których żadna z iswcntrl, iswdigit, iswpunct lub iswspace nie jest różna od zera.iswalpha zwraca wartość różną od zera dla znaków dwubajtowych, dla których iswupper lub iswlower jest różna od zera.iswascii
Przedstawienie szerokiego znaku ASCII (0x0000-0x007F).iswblank
Szeroki znak, który odnosi się do standardowych znaków spacji lub jest jednym ze znaków zdefiniowanych w implementacji zestawu szerokich znaków, dla których iswalnum ma wartość false.Standardowe znaki puste są spacjami (L' ") i tabulatorami poziomy (L"\t").iswcntrl
Steruj znakiem dwubajtowym.__iswcsym
Każdy znak dwubajtowy, dla którego isalnum jest „true” lub znakiem „_”.__iswcsymf
Każdy znak dwubajtowy, dla którego iswalpha jest „true” lub znakiem „_”.iswctype
Znak ma właściwość określoną przez argument desc.Dla każdej prawidłowej wartości argumentu desciswctype, istnieje równoważna procedura klasyfikacji znaków dwubajtowych, jak pokazano w poniższej tabeli:Równoważność iswctype (c, desc) do innych procedur badania isw
Wartość desc argumentu
równoważny iswctype ( desc c, )
_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 dwubajtowy odpowiadający znakowi cyfry po przecinku.iswgraph
Szeroki znak drukowalny z wyjątkiem miejsca szerokość znaków (L' ').iswlower
Mała litera lub jeden zdefiniowany w implementacji zestaw znaków dwubitowych, dla których żadna z iswcntrl, iswdigit, iswpunct lub iswspace nie jest różna od zera.iswlower zwraca wartość różną od zera tylko dla znaków dwubajtowych odpowiadającym małym literom.iswprint
Szeroki znak drukowalny zawierający miejsce szerokość znaków (L' ').iswpunct
Do druku szeroki znak, który jest ani miejsca szerokość znaków (L "") ani szerokości znaków, dla których iswalnum jest różna od zera.iswspace
Szeroki znak, który odnosi się do standardowych znaków spacji lub jest jednym ze znaków zdefiniowanych w implementacji zestawu szerokich znaków, dla których iswalnum ma wartość false.Standardowe znakami odstępu to: miejsce (L' "), wysuwana strona (L"\f"), nowy wiersz (L"\n"), znak powrotu karetki (L '\r'), tabulator poziomy (L"\t") i tabulacji pionowej (L '\v').iswupper
Szeroki znak, który jest wielką literą lub jest jednym ze znaków zdefiniowanych w implementacji zestawu znaków dwubitowych, dla których żadna z iswcntrl, iswdigit, iswpunct ani iswspace nie jest różna od zera.iswupper zwraca wartość różną od zera tylko dla znaków dwubajtowych odpowiadającym wielkim literom.iswxdigit
Znak dwubajtowy odpowiadający szestnastkowemu znakowi cyfry po przecinku.
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 .