is, isw 实例
备注
这些实例测试指定条件的字符。
是 实例由 – 1 导致所有整数参数的有意义的结果 (EOF) 到 UCHAR_MAX (0xFF),包含。 预期的参数类型是 int。
警告
为 是 的实例,将类型 char 的参数可能产生不可预知的结果。SBCS 或 MBCS 类型 char 单字节字符的值大于 0x7F 为负数。如果 char 通过,编译器可以将值转换为有符号的 int 或带符号 long。此值可以是符号扩展由编译器,从而产生意外的结果。
isw 实例由 – 1 导致所有整数值的有意义的结果 (WEOF) 到 0xFFFF,包含。 wint_t 数据类型在 WCHAR.H 定义为 unsigned short;它可以表示任何宽字符或宽字符文件结尾 (WEOF) 值。
输出值受设置 LC_CTYPE 类设置的影响区域设置;请参见 setlocale 有关更多信息。 这些功能的版本不 _l 后缀为该区域设置相关的行为使用当前区域设置;与 _l 后缀的版本相同,只不过它们使用传入的区域设置参数。
在 “C”区域设置, 是 实例的测试条件如下所示:
isalnum
字母数字 (a-z、 a-z,或 0 – 9)。isalpha
按字母 (a-z、 a-z 或)。__isascii
ASCII 字符 (0x00 – 0x7F)。iscntrl
控制字符 (0x00 – 0x1F 或 0x7F)。__iscsym
字母、下划线或数字。__iscsymf
字母或下划线。isdigit
十进制数字 (0 – 9)。isgraph
可打印字符除空格 ()。islower
小写字母 (a-z)。isprint
可打印字符包括空格 (0x20 – 0x7E)。ispunct
标点符号。isspace
空白字符 (0x09 – 0x0D 或 0x20)。isupper
大写字母 ())。isxdigit
十六进制数字 (A-F, a-f 或 0 – 9)。
对于 isw 实例,测试的结果为指定的条件与区域设置无关。 isw 功能的测试条件如下所示:
iswalnum
iswalpha或 iswdigit。iswalpha
是实现中定义的一个设置为的任何宽字符哪些 iswcntrl、 iswdigit、 iswpunct或 iswspace 都不是非零。 iswalpha 仅返回非零 iswupper 或 iswlower 是非零的宽字符的。iswascii
ASCII 字符 (0x0000 – 0x007F) 的宽字符表示形式。iswcntrl
控件宽字符。__iswcsym
isalnum 真实的任何宽字符或 “_”字符。__iswcsymf
iswalpha 真实的任何宽字符或 “_”字符。iswctype
字符具有 desc 参数指定的属性。 为 iswctype的 desc 参数的每个有效值,如下表所示,有等效的宽字符类的实例,例如:iswctype (等效性 c, desc ) 若要测试实例的其他 isw
desc 参数的值
iswctype ( c, desc ) 等效值
_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
使用十进制数字字符相对应的宽字符。iswgraph
可打印的宽字符除空格宽字符 (L “)。iswlower
小写字母或一个实现定义 iswcntrl、 iswdigit、 iswpunct或 iswspace 都不是非零的设置宽字符。 iswlower 仅返回非零对应于小写字母的宽字符的。iswprint
可打印的宽字符,包括空格宽字符 (L “)。iswpunct
不是空格宽字符的可打印的宽字符 (L “) 和宽字符 iswalnum 是非零。iswspace
对应于标准空白字符或是一个实现定义设置宽字符 iswalnum 是错误的宽字符。 标准空白字符是:空格 (L “),换页符 (L' \ F'), Newline (L' \ N'), Carriage 返回 (L' \ R'), Horizontal Tab (L' \ T'), And Vertical Tab (L' \ v)。iswupper
大写或是实现中定义的安装宽字符 iswcntrl、 iswdigit、 iswpunct或 iswspace 都不是非零的宽字符。 iswupper 仅返回非零对应于大写字符的宽字符的。iswxdigit
对应于十六进制数字字符的宽字符。
示例
// 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" );
}
}
Output
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 .