반응형

안녕하세요.

오늘은 C언어에서 문자가 알파벳이거나 숫자인지 확인하는 함수에 대해 알아보로독 하겠습니다.

문자가 특수문자가 아닌 알파벳('a'~'z', 'A'~'Z')과 숫자('0'~'9')인지를 확인할 때 사용할 수 있습니다.

함수 원형
int isalnum( int _C );
_C가 알파벳이거나 숫자인지를 판별하게 됩니다.


헤더파일
ctype.h


리턴값
알파벳이거나 숫자이면 0이 아닌 값을 리턴합니다.(알파벳 대문자 : 1, 알파벳 소문자 : 2, 숫자 : 4를 리턴합니다.)
알파벳이거나 숫자가 아니면 0을 리턴합니다.

예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <ctype.h>
 
void main()
{
    char chString[] = "a1-2+&ZY8b";
    
    for (int i = 0; chString[i] != '\0'; i++)
    {
        if (isalnum(chString[i]))
            printf("alphanumeric : %c\n", chString[i]);
        else
            printf("not alphanumeric : %c\n", chString[i]);
    }
}
cs

 

isalnum함수를 사용하지 않고 직접 구현하려면 다음과 같이 구현하면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <ctype.h>
 
void main()
{
    char chString[] = "a1-2+&ZY8b";
        
    for (int i = 0; chString[i] != '\0'; i++)
    {
        if ( (chString[i] >= 'a' && chString[i] <= 'z'
            || (chString[i] >= 'A' && chString[i] <= 'Z'
            || (chString[i] >= '0' && chString[i] <= '9'))
            printf("alphanumeric : %c\n", chString[i]);
        else
            printf("not alphanumeric : %c\n", chString[i]);
    }
}
cs
반응형

+ Recent posts