문자와 문자열들을 가지고 일을 하는 프로그램들은 종종 한 문자가 알파벳인지 숫자인지 또는 공백인지, 등등을 분류할 필요와 각 문자열에 원하는 변환을 시킬 필요가 있다. 'ctype.h'안에 있는 함수들이 이와 같은 목적을 위한 함수들을 제공한다. 문자조합과 지역을 선택한 후에 특별한 문자 코드들의 부류로 변화 시킬 수 있는데, 이 모든 함수들은 현재의 지역에 의해 영향을 받는다.( 더 정밀히 말하면 LC_CTYPE 분류의 문자분류를 위해 선택되어진 현재의 위치에 의해 영향을 받는다.; 19.3절[Locale Categories] 를 참조하라.)
이 절은 문자들 분류를 위한 라이브러리 함수들을 설명한다. 예를 들면 isalpha는 한 문자가 알파벳 문자들인지 테스트 하기 위한 함수이다. 이 함수는 테스트 하기 위한 문자를 하나의 인수로 취하여 만약 그것이 알파벳이면 영이 아닌 정수를 리턴하고 다른 경우는 영을 리턴 한다. 당신을 이것을 다음과 같이 사용할 수 있다.
이 절안의 각각의 함수들을 문자들이 특별한 부류 안에 속하는지를 테스트 하기 위한 함수들이다. 각각은 'is'로 함수이름이 시작된다. 그들 함수는 테스트 하기 위한 문자를 하나의 인수로 취하고 boolean값으로 취급되는 정수를 리턴 한다. 그 문자인수는 int형으로 간주되고 실제 문자 대신에 상수값 EOF로 되어질 것이다. 어느 주어진 문자의 속성은 지역들에 따라서 변화할 수 있다. 지역들에 대한 더 다양한 정보는 19장[Locales] 참조하라.
다음은 'ctype.h'의 헤더파일에 정의된 함수들이다.
함수 int islower (int c)
함수 int isupper (int c)
함수 int isalpha (int c)
함수 int isdigit (int c)
함수 int isalnum (int c)
함수 int isxdigit (int c)
함수 int ispunct (int c)
함수 int isspace (int c)
함수 int isbalnk (int c)
함수 int isgraph (int c)
함수 int isprint (int c)
함수 int iscntrl (int c)
함수 int isascii (int c)
이 절은 문자들을 원하는 목적에 맞도록 변환을 수행하는 라이브러리 함수들에 대해 설명하고 있다. 예를 들어 toupper 변환은 그것이 가능하다면 대문자로 어느 한 문자를 변환한다. 만약 그 문자가 변환할 수 없는 것이라면 변환되지 않은 문자를 리턴 한다.
이 함수들을 변환시키기 원하는 문자를 int 형으로 인자를 받아서 문자를 변환시켜 리턴 한다. 만약 주어진 인수에 적용 불가능하다면 그 인수는 변환되지 않고 리턴 된다.
호환성에 대한 참조 : ANSI-C 이전에는 변환되지 않은 문자를 리턴 하는 대신에 인수가 변환에 적용불가능 하다면 이 함수들은 그냥 실패만 하고 만다. 그래서 적용 성을 위해서 단지 toupper(c) 라고 만 하는것보단 islower(c) ? toupper(c) : c 라고 쓰는 것이 필요하다.이 함수들을 헤더파일 'ctype.h'에 정의되어 있다.
함수 int tolower (int c)
함수 int toupper (int c)
함수 int toascii (int c)
함수 int __tolower (int c)
함수 int __toupper (int c)
목차 이전 : 3. 메모리 할당 다음 : 5. 문자열과 배열 유틸리티