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

C/C++ iswblank() 함수 완벽 정리: 와이드 문자 공백 검사 방법

iswblank() 함수란?

iswblank() 함수는 전달된 와이드 문자(wide character)가 공백(blank)인지 여부를 검사하는 함수입니다. 이 함수는 기본적으로 스페이스(space) 문자를 공백으로 판단하며, 탭 문자(\t) 역시 공백으로 간주합니다.

C 언어에서는 ctype.h 헤더 파일에, C++ 언어에서는 cctype 헤더 파일에 선언되어 있으므로, 사용하기 전에 반드시 해당 헤더 파일을 포함해야 합니다.

함수 구문

C++ 언어에서 iswblank() 함수의 구문은 다음과 같습니다.

int iswblank(wint_t char);

매개변수 및 반환값

  • char: 검사할 와이드 문자(wint_t 타입)
  • 반환값: 문자가 공백이면 0이 아닌 값(true), 공백이 아니면 0(false)을 반환합니다.

예제 코드

다음은 C++ 언어에서 iswblank() 함수를 활용한 예제입니다. 문장 안에 포함된 공백의 개수를 세는 프로그램입니다.

#include <ctype.h>
#include <iostream>
using namespace std;
int main() {
    wchar_t s[] = L"The space between words.";
    int i = 0;
    int count = 0;
    while(s[i]) {
        char c = s[i++];
        if (iswblank(c)) {
            count++;
        }
    }
    cout << "\nNumber of blanks in sentence : " << count << endl;
    return 0;
}

실행 결과

Number of blanks in sentence : 5

코드 설명

위 프로그램에서는 문자열 L"The space between words."가 변수 s에 저장됩니다. 이후 while 루프를 통해 문자열을 한 글자씩 순회하면서, iswblank() 함수로 각 문자가 공백인지 검사합니다. 공백으로 판단되면 카운트 변수 count가 1씩 증가하며, 최종적으로 문장 내 공백의 총 개수가 출력됩니다.

wchar_t s[] = L"The space between words.";
int i = 0;
int count = 0;
while(s[i]) {
    char c = s[i++];
    if (iswblank(c)) {
        count++;
    }
}

정리

iswblank() 함수는 와이드 문자열 처리 시 공백 문자를 손쉽게 판별할 수 있는 유용한 도구입니다. 특히 텍스트 파싱, 단어 개수 계산, 입력 데이터 정제 등 공백 처리가 필요한 다양한 상황에서 활용할 수 있습니다. 일반 문자용 isblank() 함수와 달리, 멀티바이트나 유니코드 환경에서 와이드 문자를 다룰 때는 iswblank()를 사용하는 것이 적절합니다.