is, isw 루틴

isalnum, iswalnum, _isalnum_l, _iswalnum_l isgraph, iswgraph, _isgraph_l, _iswgraph_l
isalpha, iswalpha, _isalpha_l, _iswalpha_l isleadbyte, _isleadbyte_l
isascii, __isascii, iswascii islower, iswlower, _islower_l, _iswlower_l
isblank, iswblank, _isblank_l, _iswblank_l isprint, iswprint, _isprint_l, _iswprint_l
iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l ispunct, iswpunct, _ispunct_l, _iswpunct_l
iscsym, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l isspace, iswspace, _isspace_l, _iswspace_l
_isctype, iswctype, _isctype_l, _iswctype_l isupper, _isupper_l, iswupper, _iswupper_l
isdigit, iswdigit, _isdigit_l, _iswdigit_l isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l

주의

이러한 루틴은 지정한 조건에 대해 문자를 테스트합니다.

is 루틴은 -1(EOF)에서 UCHAR_MAX(0xFF)(포함)까지 정수 인수에 대해 의미 있는 결과를 생성합니다. 필요한 인수 형식은 int입니다.

주의

is 루틴의 경우 char 형식의 인수를 전달하면 예기치 않은 결과가 발생할 수 있습니다. 값이 0x7F보다 큰 char 형식의 SBCS 또는 MBCS 싱글바이트 문자는 음수입니다. char이 전달되면 컴파일러는 값을 부호 있는 int 또는 부호 있는 long으로 변환할 수 있습니다. 이 값은 컴파일러에서 부호 확장될 수 있으며 예기치 않은 결과가 발생할 수 있습니다.

isw 루틴은 - 1(WEOF)에서 0xFFFF(포함)까지 정수 값에 대해 의미 있는 결과를 생성합니다. wint_t 데이터 형식은 unsigned short로 WCHAR.H에 정의됩니다. 와이드 문자 또는 와이드 문자 파일 끝(WEOF) 값을 가질 수 있습니다.

출력값은 로캘의 LC_CTYPE 범주 설정에 영향을 받습니다. 자세한 내용은 setlocale을 참조하세요. _l 접미사가 없는 이러한 함수 버전은 이 로캘 종속 동작에 현재 로캘을 사용하며, _l 접미사가 있는 버전은 전달된 로캘 매개 변수를 대신 사용하는 경우를 제외하고는 동일합니다.

"C" 로캘에서 is 루틴에 대한 테스트 조건은 다음과 같습니다.

isalnum
영숫자(A-Z, a-z 또는 0-9)

isalpha
알파벳(A-Z 또는 a-z)

__isascii
ASCII 문자(0x00-0x7F)

isblank
가로 탭 또는 공백 문자(0x09 또는 0x20)

iscntrl
제어 문자(0x00 - 0x1F 또는 0x7F)

__iscsym
문자, 밑줄 또는 숫자

__iscsymf
문자 또는 밑줄

isdigit
10진수(0-9)

isgraph
공백을 제외한 인쇄 가능한 문자()

islower
소문자(a ~ z)

isprint
공백을 포함한 인쇄 가능한 문자(0x20-0x7E)

ispunct
문장 부호 문자

isspace
공백 문자(0x09-0x0D 또는 0x20)

isupper
대문자(A ~ Z)

isxdigit
16진수(A-F, a-f 또는 0-9)

isw 루틴의 경우 지정된 조건의 테스트 결과는 로캘과 무관합니다. isw 함수에 대한 테스트 조건은 다음과 같습니다.

iswalnum
iswalpha 또는 iswdigit

iswalpha
iswcntrl, iswdigit, iswpunct, iswspace가 모두 0인 구현 시 정의된 집합 중 하나인 와이드 문자. iswalphaiswupper 또는 iswlower가 0이 아닌 와이드 문자에 대해서는 0이 아닌 값을 반환합니다.

iswascii
ASCII 문자의 와이드 문자 표현(0x0000-0x007F)

iswblank
표준 공백 문자에 해당하거나 iswalnum이 false인 경우 구현 시 정의된 와이드 문자 집합 중 하나인 와이드 문자. 표준 공백 문자는 공백(L' ') 및 가로 탭(L'\t')입니다.

iswcntrl
제어 와이드 문자

__iswcsym
isalnum이 true인 경우 와이드 문자 또는 '_' 문자

__iswcsymf
iswalpha가 true인 경우 와이드 문자 또는 '_' 문자

iswctype
문자에 desc 인수에 의해 지정된 속성이 있습니다. 다음 표에 표시된 것처럼, iswctypedesc 인수에 유효한 각 값에 대해 해당하는 와이드 문자 분류 루틴이 있습니다.

기타 isw 테스트 루틴에 대한 iswctype(
c, desc) 동등성

desc 인수 값 해당 iswctype( c, desc )
_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
10진수 문자에 해당하는 와이드 문자

iswgraph
공백 와이드 문자(L' ')를 제외한 인쇄 가능한 와이드 문자

iswlower
소문자이거나 iswcntrl, iswdigit, iswpunct, iswspace가 모두 0인 구현 시 정의된 와이드 문자 집합 중 하나. iswlower는 소문자에 해당하는 와이드 문자에 대해서만 0이 아닌 값을 반환합니다.

iswprint
공백 와이드 문자(L' ')를 포함한 인쇄 가능한 와이드 문자

iswpunct
iswalnum이 0이 아닌 와이드 문자도 공백 와이드 문자(L' ')도 아닌 인쇄 가능한 와이드 문자

iswspace
표준 공백 문자에 해당하거나 iswalnum이 false인 경우 구현 시 정의된 와이드 문자 집합 중 하나인 와이드 문자. 표준 공백 문자: 공백(L' '), 용지 공급(L'\f'), 줄 바꿈(L'\n'), 캐리지 리턴(L'\r'), 가로 탭(L'\t'), 세로 탭(L'\v')

iswupper
대문자이거나 iswcntrl, iswdigit, iswpunct, iswspace가 모두 0인 구현 시 정의된 와이드 문자 집합 중 하나인 와이드 문자. iswupper는 대문자에 해당하는 와이드 문자에 대해서만 0이 아닌 값을 반환합니다.

iswxdigit
16진수 문자에 해당하는 와이드 문자

예제

// 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" );  
   }  
}  

출력

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 함수