Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C/C++의 iswlower() 함수 – 와이드 문자 소문자 판별하기

iswlower() 함수란?

iswlower() 함수는 C/C++의 표준 라이브러리에 포함된 내장 함수로, 전달받은 와이드 문자(wide character)가 소문자인지 아닌지를 판별합니다.

이 함수는 사용하는 언어에 따라 선언 위치가 다릅니다.

  • C++: <cwctype> 헤더 파일에 선언됨
  • C: <ctype.h> 헤더 파일에 선언됨

동작 방식 및 반환값

iswlower() 함수는 와이드 문자 하나를 매개변수로 받아 다음과 같은 결과를 반환합니다.

  • 문자가 소문자가 아니면 → 0(영) 반환
  • 문자가 소문자이면 → 0이 아닌 값(non-zero) 반환

참고로 와이드 문자(wchar_t)는 영어뿐만 아니라 한글, 한자 등 다국어 문자를 표현할 수 있도록 설계된 확장형 문자 타입입니다.

함수 구문(Syntax)

C/C++에서 iswlower() 함수의 기본 구문은 다음과 같습니다.

int iswlower(ch);

여기서 ch는 검사하려는 와이드 문자(wchar_t 타입)를 의미합니다.

C++ 예제 코드

다음은 C++에서 iswlower() 함수를 활용한 예제입니다.

#include <cwctype>
#include <iostream>
using namespace std;
int main() {
   wchar_t c = 'S';
   if (iswlower(c))
   wcout << c << ", The character is a lowercase character ";
   else
   wcout << c << ", The character is not a lowercase character ";
   wcout << endl;
   return 0;
}

실행 결과

S , The character is not a lowercase character

결과 해석

위 예제에서 변수 c에는 대문자 'S'가 저장되어 있습니다. iswlower('S')는 'S'가 소문자가 아니므로 0을 반환하고, 따라서 else 블록이 실행되어 "소문자가 아니다"라는 메시지가 출력됩니다.

만약 변수에 's'처럼 소문자를 저장했다면, iswlower()는 0이 아닌 값을 반환하여 "소문자 맞음"이라는 메시지가 출력될 것입니다.

정리

iswlower() 함수는 와이드 문자의 대소문자 여부를 손쉽게 검사할 수 있는 유용한 도구입니다. 특히 다국어 환경이나 유니코드 문자를 다룰 때 일반 문자 검사 함수보다 와이드 문자 전용 함수를 사용하는 것이 안전하며, 입력값 유효성 검사나 문자열 처리 로직에서 널리 활용됩니다.