C++ 표준 템플릿 라이브러리(STL)에서 iswlower() 함수는 주어진 와이드 문자(wide character)가 소문자인지 여부를 확인하는 데 사용됩니다. 만약 해당 문자가 소문자가 아니라면 함수는 0을 반환합니다. ASCII 값이 97부터 122까지인 문자, 즉 a~z에 해당하는 알파벳이 소문자입니다. iswlower() 함수는 C/C++의 wctype.h 헤더 파일(와이드 문자용) 및 cctype 계열 헤더에서 제공됩니다.
iswlower() 함수의 문법
int iswlower (wint_t c)
매개변수 − c는 검사할 와이드 문자로, 정수 타입인 wint_t로 캐스팅되거나 WEOF 값을 가질 수 있습니다.
반환 값 − iswlower() 함수는 전달된 문자가 소문자일 경우 0이 아닌(non-zero) 값을 반환하고, 그렇지 않으면 0을 반환합니다.
예시
입력 − string[] = Test Me
출력 − 문자열에 소문자가 포함되어 있습니다.
설명 − 주어진 문자열에서 a~z 사이의 소문자가 포함되어 있는지 검사합니다.
입력 − string[] = Test Me
출력 − TEST ME
설명 − 주어진 문자열에서 소문자를 대문자로 변환했습니다.
프로그램의 동작 방식
wchar_t 타입 변수에 문자열을 입력받습니다.
STL의 내장 함수 iswlower()를 적용하여 문자열에 소문자가 포함되어 있는지 확인합니다.
결과가 참(true)이면 함수는 0이 아닌 값을 반환하고, 거짓(false)이면 0을 반환합니다.
최종 결과를 화면에 출력합니다.
예제 코드
#include <stdio.h>
#include <wctype.h>
int main (){
int i=0;
wchar_t str[] = L"Test String.\n";
wchar_t c;
while (str[i]){
c = str[i];
if (iswlower(c)) c=towupper(c);
putwchar (c);
i++;
}
return 0;
}실행 결과
위 코드를 실행하면 다음과 같은 출력이 생성됩니다 −
TEST STRING
위 예제에서는 문자열의 각 문자를 순회하면서 iswlower()로 소문자 여부를 판별한 뒤, 소문자인 경우 towupper() 함수를 사용해 대문자로 변환하여 출력합니다. 이처럼 iswlower()는 와이드 문자열 처리 시 특정 문자가 소문자인지 손쉽게 검사할 수 있는 유용한 함수입니다.