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()를 사용하는 것이 적절합니다.