표준 라이브러리 헤더 <ctype.h>
표준 라이브러리 헤더 <ctype.h>
문자를 다룰 때 "이 문자가 숫자인가요? 대문자인가요? 공백인가요?" 같은 판별을 일일이 비교 연산으로 하다 보면 코드가 금방 지저분해져요. <ctype.h>는 이런 문자 분류와 변환을 한 번에 해결해 주는 헤더예요. 널 종료 바이트 문자열 라이브러리의 일부로, 문자 하나를 받아 그 종류를 검사하거나 대소문자로 바꿔 주는 함수들을 제공하죠.
출처: cppreference
본문
함수
| 함수 | 설명 |
|---|---|
isalnum |
문자가 영숫자(alphanumeric)인지 검사 |
isalpha |
문자가 알파벳(alphabetic)인지 검사 |
islower |
문자가 소문자인지 검사 |
isupper |
문자가 대문자인지 검사 |
isdigit |
문자가 숫자(digit)인지 검사 |
isxdigit |
문자가 16진수 문자인지 검사 |
iscntrl |
문자가 제어 문자(control character)인지 검사 |
isgraph |
문자가 그래픽 문자(graphical character)인지 검사 |
isspace |
문자가 공백 문자(space character)인지 검사 |
isblank |
(C99) 문자가 빈칸(blank) 문자인지 검사 |
isprint |
문자가 출력 가능한 문자(printing character)인지 검사 |
ispunct |
문자가 구두점(punctuation) 문자인지 검사 |
tolower |
문자를 소문자로 변환 |
toupper |
문자를 대문자로 변환 |
시그니처(Synopsis)
int isalnum(int c);
int isalpha(int c);
int isblank(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
int tolower(int c);
int toupper(int c);
분류 함수들은 모두 int를 받아 int를 돌려줘요. 문자를 int로 받는 이유는 함수에 넣을 값이 unsigned char 값이거나 EOF여야 하기 때문이에요. 반환값이 참이면 0이 아닌 값, 거짓이면 0이에요. 소문자/대문자 변환이 불가능한 문자라면, tolower는 원래 문자 그대로 돌려줘요.
더 알아보기
- 널 종료 바이트 문자열 라이브러리:
<string.h>기반 문자열 처리 도구 모음. <wctype.h>: 와이드 문자용 분류·변환 함수.