[C++]대소문자, 숫자 구분함수
Contents
숫자판단, 문자판단, 대소문자 판단 ( isalpha, isupper, islower, isdigit, toupper, tolower )
isalpha - 알파벳 문자 판별
|
|
c가 알파벳 문자인지 아닌지 판별해준다. int형인 이유는 아스키코드를 판별하기 떄문!!
단, 사용 할 때 알파벳을 직접 넣어줘도 된다.
|
|
밑에 ‘a’ 가 아스키코드로 97이므로 결국 두 문장은 같은 문장이다.
return은 타입이 int형 이기에 알파벳이 아니라면 0 을 알파벳이라면 0이아닌 정수를 리턴한다.
-
비쥬얼 스튜디오 기준
알파벳이 아닐경우 - 0
대문자일 경우 - 1
소문자일 경우 - 2
isupper - 대문자 판별
|
|
c가 대문자인지 아닌지 판별해준다.
대문자가 아니라면 0을 (알파벳이 아닌 다른 어떤 문자여도 대문자가 아니기 때문에 0을 리턴한다.)
대문자라면 0이아닌 정수를 리턴한다.
islower - 소문자 판별
|
|
c가 소문자인지 아닌지를 판별해준다.
isdigit - 숫자 판별
|
|
c가 숫자인지 아닌지를 판별해준다.
단, 주의할 점이 있다.
|
|
이것은 숫자일까? 아닐까?
답은 0을 리턴한다. 왜그럴까?
isdigit또한 위에 함수들처럼 아스키코드값을 확인하기 때문이다.
즉 ‘0’ ~ ‘9’ (아스키 코드로 : 48 ~ 57) 에 해당하는지를 확인한다.
|
|
이와 같이 사용하도록 하자.
toupper - 소문자를 대문자로
|
|
c가 소문자라면 대문자로 바꾸어서 리턴해준다.
소문자가 아니라면 원래상태 그대로 리턴해준다.
tolower - 대문자를 소문자로
|
|
c가 대문자라면 소문자로 바꾸어서 리턴해준다.
기타
|
|