isalnum() – isxdigit() — 정수값 테스트
형식
#include <ctype.h>
int isalnum(int c);
/* Test for upper- or lowercase letters, or decimal digit */
int isalpha(int c);
/* Test for alphabetic character */
int isblank(int c);
/* Test for blank or tab character */
int iscntrl(int c);
/* Test for any control character */
int isdigit(int c);
/* Test for decimal digit */
int isgraph(int c);
/* Test for printable character excluding space */
int islower(int c);
/* Test for lowercase */
int isprint(int c);
/* Test for printable character including space */
int ispunct(int c);
/* Test for any nonalphanumeric printable character */
/* excluding space */
int isspace(int c);
/* Test for whitespace character */
int isupper(int c);
/* Test for uppercase */
int isxdigit(int c);
/* Test for hexadecimal digit */
언어 레벨
ANSI
스레드세이프
예
로케일 감지
이 함수의 작동은 현재 로케일의 LC_CTYPE 범주에 영향을 받을 수 있습니다. 자세한 정보는 CCSID 및 로케일 이해의 내용을 참조하십시오.
설명
나열된 <ctype.h> 함수는 정수값으로 문자를 테스트합니다.
리턴값
정수가 테스트 조건을 충족하는 경우 0(영)이 아닌 값을 리턴하거나, 그렇지 않은 경우 0(영) 값을 리턴합니다.
정수 변수 c는 unsigned char로 나타낼 수 있어야 합니다.
참고: EOF는 유효한 입력값입니다.
예
이 예는 코드 0x0과 코드 UPPER_LIMIT 사이의 모든 문자를 분석하여, 영문자의 경우 A, 영숫자의 경우 AN, 공백 또는 탭 문자의 경우 B, 대문자의 경우 U, 소문자의 경우 L, 숫자의 경우 D, 16진 숫자의 경우 X, 공백의 경우 S, 구두점의 경우 PU, 인쇄 가능 문자의 경우 PR, 그래픽 문자의 경우 G, 제어 문자의 경우 C로 출력합니다. 이 예는 인쇄 가능한 경우 코드를 인쇄합니다.
이 예의 출력은 테스트된 속성이 있는 문자를 0에서
255까지 표시하는 256행 테이블입니다.
#include <stdio.h>
#include <ctype.h>
#define UPPER_LIMIT 0xFF
int main(void)
{
int ch;
for ( ch = 0; ch <= UPPER_LIMIT; ++ch )
{
printf("%3d ", ch);
printf("%#04x ", ch);
printf("%3s ", isalnum(ch) ? "AN" : " ");
printf("%2s ", isalpha(ch) ? "A" : " ");
printf("%2s ", isblank(ch) ? "B" : " ");
printf("%2s", iscntrl(ch) ? "C" : " ");
printf("%2s", isdigit(ch) ? "D" : " ");
printf("%2s", isgraph(ch) ? "G" : " ");
printf("%2s", islower(ch) ? "L" : " ");
printf(" %c", isprint(ch) ? ch : ' ');
printf("%3s", ispunct(ch) ? "PU" : " ");
printf("%2s", isspace(ch) ? "S" : " ");
printf("%3s", isprint(ch) ? "PR" : " ");
printf("%2s", isupper(ch) ? "U" : " ");
printf("%2s", isxdigit(ch) ? "X" : " ");
putchar('\n');
}
}