C++의 iswblank() 함수는 주어진 와이드 문자(wide character)가 공백(blank)인지 여부를 확인하는 데 사용됩니다. 이 함수는 C 언어에서는 ctype.h 헤더 파일에 포함되어 있으며, C++ 표준 템플릿 라이브러리(STL)에서는 cctype 헤더 파일을 통해 사용할 수 있습니다.
iswblank() 함수의 문법
int iswblank(wint_t ch)
반환 타입 − 전달된 문자가 공백 문자인 경우 0이 아닌(non-zero) 값을 반환하고, 공백이 아니면 0을 반환합니다.
매개변수 − ch : 공백 여부를 검사할 대상 문자입니다.
예시
입력 − string str = "I Love Myself"
출력 − 총 공백 문자 수는 2개입니다.
입력 − string str = "Myself"
출력 − 총 공백 문자 수는 0개입니다.
프로그램의 접근 방식
문자열에 공백이 포함되어 있는지 확인하기 위해 문자열을 입력받습니다.
iswblank() 함수를 호출하고, 검사할 문자열을 매개변수로 전달하여 최종 결과를 얻습니다.
반환된 0이 아닌 정수 값을 변수에 저장한 후, 최종 결과를 출력합니다.
코드 예제
#include <ctype.h>
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "en_US.UTF-8");
wchar_t str[] = L"\u0757\u077c\u0020\u00c5\u00d5\u00dd\u0009\u00a5";
int count = 0;
for (int i=0; i<wcslen(str); i++) {
if (iswblank(str[i]))
count ++;
}
cout << L"Number of blank characters in \"" << str << "\" = " << count;
return 0;
}실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −
Number of blank characters in "ݼݗ ÅÕÝ¥" = 2
이 예제에서는 wchar_t 배열에 유니코드 문자들을 저장한 뒤, 반복문을 통해 각 문자를 하나씩 검사합니다. 일반 공백(\u0020)뿐만 아니라 탭(\u0009) 같은 공백 계열 문자도 iswblank() 함수가 감지하므로, 최종적으로 2개의 공백 문자가 카운트됩니다.