isblank

isblank

한 문자가 '공백(blank) 문자'인지 확인할 때 써요. 공백 문자라는 건 화면에 안 보이는 문자 중에서도 특히 공백과 탭을 가리켜요.

출처: cppreference

본문

문법 (Syntax)

int isblank ( int ch );

설명 (Explanation)

현재 C 로케일 기준으로 주어진 문자가 공백 문자인지 확인해요. 기본 C 로케일에서는 공백(0x20)과 수평 탭(0x09)만 공백 문자로 분류해요.

ch의 값이 unsigned char로 표현할 수 없고 EOF와도 같지 않으면 동작이 정의되지 않아요.

매개변수 (Parameters)

  • ch — 분류할 문자

반환값 (Return value)

문자가 공백 문자면 0이 아닌 값, 아니면 0을 반환해요.

예시 (Example)

0부터 UCHAR_MAX까지 전수 조사해서 공백 문자로 분류되는 코드를 찍어봐요. 기본 로케일에서는 0x09(탭)와 0x20(공백) 두 가지만 나와요.

#include <ctype.h>
#include <limits.h>
#include <stdio.h>

int main(void)
{
    for (int ndx = 0; ndx != UCHAR_MAX; ++ndx)
        if (isblank(ndx))
            printf("0x%02x\n", ndx);
}

가능한 출력 (Possible output):

0x09
0x20

참고 문헌 (References)

  • C23 표준 (ISO/IEC 9899:2024): 7.4.1.3 The isblank function (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018): 7.4.1.3 The isblank function (p: 145)
  • C11 표준 (ISO/IEC 9899:2011): 7.4.1.3 The isblank function (p: 201)
  • C99 표준 (ISO/IEC 9899:1999): 7.4.1.3 The isblank function (p: 182)

더 알아보기

  • 와이드 문자 버전인 iswblank(C99)도 있어요.
  • 줄바꿈 등 더 넓은 의미의 공백을 확인하고 싶다면 isspace를 보세요.
  • cppreference 원문에서 isblank의 자세한 내용을 확인할 수 있어요.