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

C++ STL의 iswblank() 함수: 와이드 문자 공백 검사 방법

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개의 공백 문자가 카운트됩니다.