isgraph
isgraph
한 문자가 그래픽 표현(graphical representation)을 갖는지 확인할 때 써요. 눈에 보이는 문자인지, 다시 말해 공백을 제외한 출력 가능한 문자인지 판별해요.
출처: cppreference
본문
문법 (Syntax)
int isgraph ( int ch );
설명 (Explanation)
주어진 문자가 그래픽 표현을 갖는지, 즉 숫자(0123456789), 대문자(ABCDEFGHIJKLMNOPQRSTUVWXYZ), 소문자(abcdefghijklmnopqrstuvwxyz), 구두점 문자(!"#$%&'()*+,-./:;<=>?@[\]^_{|}~`), 또는 현재 C 로케일에 특화된 그래픽 문자인지 확인해요.
ch의 값이 unsigned char로 표현할 수 없고 EOF와도 같지 않으면 동작이 정의되지 않아요.
매개변수 (Parameters)
- ch — 분류할 문자
반환값 (Return value)
문자가 그래픽 표현을 갖는 문자면 0이 아닌 값, 아니면 0을 반환해요.
예시 (Example)
기본 로케일과 ISO-8859-1 로케일에서 \xb6(단락 기호 ¶)의 분류가 달라지는 걸 보여줘요.
#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
unsigned char c = '\xb6'; // the character ¶ in ISO-8859-1
printf("In the default C locale, \\xb6 is %sgraphical\n",
isgraph(c) ? "" : "not " );
setlocale(LC_ALL, "en_GB.iso88591");
printf("In ISO-8859-1 locale, \\xb6 is %sgraphical\n",
isgraph(c) ? "" : "not " );
}
가능한 출력 (Possible output):
In the default C locale, \xb6 is not graphical
In ISO-8859-1 locale, \xb6 is graphical
참고 문헌 (References)
- C23 표준 (ISO/IEC 9899:2024): 7.4.1.6 The isgraph function (p: TBD)
- C17 표준 (ISO/IEC 9899:2018): 7.4.1.6 The isgraph function (p: 146)
- C11 표준 (ISO/IEC 9899:2011): 7.4.1.6 The isgraph function (p: 201-202)
- C99 표준 (ISO/IEC 9899:1999): 7.4.1.6 The isgraph function (p: 182-183)
- C89/C90 표준 (ISO/IEC 9899:1990): 4.3.1.5 The isgraph function
더 알아보기
- 와이드 문자 버전인 iswgraph(C95)도 있어요.
- 공백까지 포함한 출력 가능한 문자를 보려면 isprint을 보세요.
isgraph과isprint의 차이는 공백을 포함하느냐 마느냐예요. - cppreference 원문에서
isgraph의 자세한 내용을 확인할 수 있어요.