is, isw 实例

isalnum, iswalnum, _isalnum_l, _iswalnum_l

islower, iswlower, _islower_l, _iswlower_l

isalpha, iswalpha, _isalpha_l, _iswalpha_l

isprint, iswprint, _isprint_l, _iswprint_l

__isascii, iswascii

ispunct, iswpunct, _ispunct_l, _iswpunct_l

iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l

isspace, iswspace, _isspace_l, _iswspace_l

__iscsym, __iswcsym __iscsymf, __iswcsymf

isupper, _isupper_l, iswupper, _iswupper_l

isdigit, iswdigit, _isdigit_l, _iswdigit_l

_isctype, iswctype, _isctype_l, _iswctype_l

isgraph, iswgraph, _isgraph_l, _iswgraph_l

isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l

isleadbyte, _isleadbyte_l

备注

这些实例测试指定条件的字符。

实例由 – 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
    iswalphaiswdigit

  • iswalpha
    是实现中定义的一个设置为的任何宽字符哪些 iswcntrliswdigitiswpunctiswspace 都不是非零。 iswalpha 仅返回非零 iswupperiswlower 是非零的宽字符的。

  • 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
    小写字母或一个实现定义 iswcntrliswdigitiswpunctiswspace 都不是非零的设置宽字符。 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
    大写或是实现中定义的安装宽字符 iswcntrliswdigitiswpunctiswspace 都不是非零的宽字符。 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                              .

请参见

参考

字符类

区域设置

setlocale, _wsetlocale

多字节字符序列的说明

to 函数