[C언어/C++] islower, isupper 대문자 소문자 확인
안녕하세요. BlockDMask 입니다.
오늘은 C언어, C++에서 알파벳이 대문자인지 소문자인지 확인 해주는 islower, isupper 함수에 대해서 알아보려고 합니다.
지난시간에는 대문자를 소문자로 변경하고, 소문자를 대문자로 변경해주는 tolower, toupper 함수에 대해서 알아보았었습니다. 해당 함수가 궁금하다면 [바로가기]
<목차>
1. isupper, islower 함수 원형과 사용법
2. islower, isupper 함수 예제
1. C, C++ isupper, islower 함수 설명
1-1) 헤더파일
C언어 : <ctype.h>
C++ : <cctype>
1-2) isupper 함수 원형 및 설명
int isupper(int c);
매개변수로 들어온 문자, 숫자가 대문자인지 확인하는 함수 입니다.
매개변수 : 아스키 코드표에 기반한 10진수를 받습니다. 문자를 집어넣게 되면 그 문자에 해당하는 아스키 코드 10진수로 형변환 되어서 들어가게 됩니다.
우리는 그런거 상관하지 말고 'a'도 넣고 65도 넣으면 됩니다.
반환형 : 인자로 들어온 문자가 대문자 인 경우에는 0이 아닌 숫자를 반환합니다.
대문자가 아닌 경우에는 0을 반환합니다.
즉, 대문자가 들어오면 != 0 반환. (=True)
대문자가 아닌게 들어오면 == 0 반환. (=False) 입니다.
1-3) islower 함수 원형 및 설명
int islower(int c);
매개변수로 들어온 문자, 숫자가 소문자인지 확인하는 함수 입니다.
매개변수 : 아스키 코드표에 기반한 10진수를 받습니다. 문자를 집어넣게 되면 그 문자에 해당하는 아스키 코드 10진수로 형변환 되어서 들어가게 됩니다.
우리는 그런거 상관하지 말고 'a'도 넣고 65도 넣으면 됩니다.
반환형 : 인자로 들어온 문자가 소문자 인 경우에는 0이 아닌 숫자를 반환합니다.
소문자가 아닌 경우에는 0을 반환합니다.
즉, 소문자가 들어오면 != 0 반환. (=True)
소문자가 아닌게 들어오면 == 0 반환. (=False) 입니다.
2. C, C++ isupper, islower 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include<ctype.h> #include<stdio.h> int main(void) { char str[] = "This is BlockDMask blog."; printf("%s\n", str); //소문자만 출력 for (int i = 0; i < (int)strlen(str); ++i) { if (islower(str[i]) != 0) { printf("%c ", str[i]); } } printf("\n"); //대문자만 출력 for (int i = 0; i < (int)strlen(str); ++i) { if (isupper(str[i]) != 0) { printf("%c ", str[i]); } } return 0; } | cs |
이렇게 "This is BlockDMask blog."라는 하나의 문자열에서
islower 함수를 통해서 소문자인지 확인하고 소문자만 출력을 해보았고,
isupper 함수를 통해서 대문자인지 확인한 후 대문자만 출력해보았습니다.
0이 아니라는것은 True라는 뜻으로 받아드리면 됩니다.
islower(문자) != 0 ->> islower(문자) == True
위 처럼 이렇게 받아들이면 더 이해하기 쉬울것 입니다.
이상으로 C언어 C++에서 문자가 알파벳 대문자인지 소문자인지 확인하는 함수인 islower, isupper 함수에 대해 알아보았습니다.
감사합니다.