is
, isw
루틴
isalnum
, iswalnum
, _isalnum_l
_iswalnum_l
isalpha
, iswalpha
, _isalpha_l
_iswalpha_l
isascii
, , __isascii
iswascii
isblank
, iswblank
, _isblank_l
_iswblank_l
iscntrl
, iswcntrl
, _iscntrl_l
_iswcntrl_l
iscsym
, iscsymf
, __iscsym
, __iswcsym
, __iscsymf
, __iswcsymf
, _iscsym_l
_iswcsym_l
, _iscsymf_l
_iswcsymf_l
_isctype
, iswctype
, _isctype_l
_iswctype_l
isdigit
, iswdigit
, _isdigit_l
, _iswdigit_l
isgraph
, , _isgraph_l
iswgraph
_iswgraph_l
isleadbyte
, _isleadbyte_l
islower
, iswlower
, _islower_l
_iswlower_l
isprint
, iswprint
, _isprint_l
_iswprint_l
ispunct
, iswpunct
, _ispunct_l
_iswpunct_l
isspace
, iswspace
, _isspace_l
_iswspace_l
isupper
, _isupper_l
, iswupper
_iswupper_l
isxdigit
, iswxdigit
, _isxdigit_l
_iswxdigit_l
설명
이러한 루틴은 지정한 조건에 대해 문자를 테스트합니다.
루틴은 is
-1()에서 (EOF
0xFF) UCHAR_MAX
사이의 정수 인수에 대해 의미 있는 결과를 생성합니다. 필요한 인수 형식은 int
입니다.
주의
루틴의 is
경우 형식 char
인수를 전달하면 예측할 수 없는 결과가 발생할 수 있습니다. 값이 0x7F보다 큰 char
형식의 SBCS 또는 MBCS 싱글바이트 문자는 음수입니다. 전달 char
된 경우 컴파일러는 값을 a 또는 a signed int
signed long
로 변환할 수 있습니다. 이 값은 컴파일러에서 부호 확장될 수 있으며 예기치 않은 결과가 발생할 수 있습니다.
루틴은 isw
-1(WEOF
)에서 0xFFFF(포함)의 정수 값에 대해 의미 있는 결과를 생성합니다. wint_t
데이터 형식은 .에 정의되어 있습니다 <WCHAR.H>
unsigned short
. 와이드 문자 또는 와이드 문자 파일 끝(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
공백(0x20)을 제외한 인쇄 가능한 문자입니다.
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인 구현 시 정의된 집합 중 하나인 와이드 문자. iswalpha
는 iswupper
또는 iswlower
가 0이 아닌 와이드 문자에 대해서는 0이 아닌 값을 반환합니다.
iswascii
ASCII 문자의 와이드 문자 표현(0x0000-0x007F)
iswblank
표준 공백 문자에 해당하거나 iswalnum
이 false인 경우 구현 시 정의된 와이드 문자 집합 중 하나인 와이드 문자. 표준 빈 문자는 공백(L' '
) 및 가로 탭(L'\t'
)입니다.
iswcntrl
제어 와이드 문자
__iswcsym
isalnum
가 true인 경우 와이드 문자 또는 '_' 문자
__iswcsymf
iswalpha
가 true인 경우 와이드 문자 또는 '_' 문자
iswctype
문자에 desc
인수에 의해 지정된 속성이 있습니다. 인수의 desc
iswctype
유효한 각 값에 대해 다음 표와 같이 동일한 와이드 문자 분류 루틴이 있습니다.
다른 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
공백 와이드 문자(L' '
)가 아니고 0이 아닌 와이드 문자가 아닌 인쇄 가능한 와이드 문자 iswalnum
입니다.
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 .