Namespaces
Variants

isalnum

From cppreference.net
< c ‎ | string ‎ | byte
헤더 파일에 정의됨 <ctype.h>
int isalnum ( int ch ) ;

현재 C 로캘에서 분류된 알파벳 숫자 문자인지 확인합니다. 기본 로캘에서 다음 문자들은 알파벳 숫자 문자입니다:

  • 숫자 ( 0123456789 ),
  • 대문자 ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ),
  • 소문자 ( abcdefghijklmnopqrstuvwxyz ).

ch 값이 unsigned char 로 표현 가능하지 않고 EOF 와 같지 않으면 동작은 정의되지 않습니다.

목차

매개변수

ch - 분류할 문자

반환값

문자가 알파벳 숫자 문자인 경우 0이 아닌 값, 0 그 외의 경우.

예제

다양한 로케일(OS별)에서 isalnum 사용법을 보여줍니다.

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xdf'; // German letter ß in ISO-8859-1
    printf("isalnum('\\xdf') in default C locale returned %d\n", !!isalnum(c));
    if (setlocale(LC_CTYPE, "de_DE.iso88591"))
        printf("isalnum('\\xdf') in ISO-8859-1 locale returned %d\n", !!isalnum(c));
}

가능한 출력:

isalnum('\xdf') in default C locale returned 0
isalnum('\xdf') in ISO-8859-1 locale returned 1

참고문헌

  • C23 표준 (ISO/IEC 9899:2024):
  • 7.4.1.1 isalnum 함수 (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.4.1.1 isalnum 함수 (p: 145)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.4.1.1 isalnum 함수 (p: 200)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.4.1.1 The isalnum function (p: 181)
  • C89/C90 표준 (ISO/IEC 9899:1990):
  • 4.3.1.1 isalnum 함수

참고 항목

와이드 문자가 영숫자인지 확인합니다
(함수)
**참고:** HTML 태그, 속성, ` ` 태그 내부의 텍스트는 번역하지 않았으며, C++ 관련 용어도 그대로 유지했습니다. 표의 숫자 범위와 기호만 한국어로 표기했습니다.
ASCII 값 문자

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

십진법 16진법 8진법
0–8 \x0 \x8 \0 \10 제어 코드 ( NUL 등) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 탭 ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 공백 문자 ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 제어 코드 ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 공백 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21 \x2F \41 \57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30 \x39 \60 \71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A \x40 \72 \100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41 \x46 \101 \106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47 \x5A \107 \132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B \x60 \133 \140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61 \x66 \141 \146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67 \x7A \147 \172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B \x7E \173 \x7E {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 백스페이스 문자 ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0