Coding & Programming/C, C++

[C/C++] 영문, 숫자, 제어문자, 공백, 대/소문자 등 판별하기(check if character is alphabetic, number, control character, space, etc: isalnum (), isalpha(), iscntrl(), isprint(), isdigit(), islower(), isupper() etc functions example)

mainCodes 2021. 3. 1. 13:15

[C/C++] 영문, 숫자, 제어문자, 공백, 대/소문자 등 판별하기(check if character is alphabetic, number, control character, space, etc: isalnum (), isalpha(), iscntrl(), isprint(), isdigit(), islower(), isupper() etc functions example)

 

안녕하세요 JollyTree(•̀ᴗ•́)و입니다.  C 언어 라이브러리는 파일 또는 입력한 문자가 영문자, 숫자인지 또는 특수문자인지를 알아내는데 사용 가능한 여러가지 함수를 제공합니다. 아래 예제(Example)는 파일을 한 문자씩 읽으면서 해당 문자를 판별하는 예제입니다. 

 

isprint(), iscntrl()의 실 사용 예제가 궁금한 분은 지난 자료를 참고하세요.

[C/C++] 코드 내 에서 Hex Editor 같이 바이너리 출력하기(Binary output like Hex Editor in code) : maincodes.tistory.com/13

 

[C/C++] 코드 내 에서 Hex Editor 같이 바이너리 출력하기(Binary output like Hex Editor in code)

안녕하세요 JollyTree (•̀ᴗ•́)و 입니다. 대부분의 워드, 멀티미디어, 압축 등의 프로그램들은 동영상, 압축, 그림 등 바이너리 파일을 대부분 사용하며 코딩을 하다보면 바이너리 파일을 읽고

maincodes.tistory.com

예제(Example):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#define _CRT_SECURE_NO_WARNINGS 1
 
#include <stdio.h>
#include <ctype.h>
#include <memory.h>
#include <stdlib.h>
 
#define FILE_NAME "maincodes3.txt"
 
int main()
{
    FILE* fp = NULL;
    int ch;
 
    fp = fopen(FILE_NAME, "r"); 
    if (fp == NULL)
    {
        printf("open error\n");
        return 1;
    }
 
    do 
    {
        ch = fgetc(fp);
 
        if (isalnum(ch))
            printf("[%c] = isalnum() : 영문알파벳과 숫자)\n", ch);
 
        if (isalpha(ch))
            printf("[%c] = isalpha() : 알파벳\n", ch);
 
        if (isblank(ch))
            printf("[%c] = isblank() : 공백\n", ch);
 
        if (iscntrl(ch))
            printf("[%c] = iscntrl() : 제어문자\n", ch);
 
        if (isdigit(ch))
            printf("[%c] = isdigit() : 숫자\n", ch);
 
        if (isgraph(ch))
            printf("[%c] = isgraph() : 화면에 출력 가능한 문자, 공백 제외\n", ch);
 
        if (islower(ch))
            printf("[%c] = islower() : 영문 소문자\n", ch);
 
        if (isprint(ch))
            printf("[%c] = isprint() : 화면에 출력 가능한 문자\n", ch);
 
        if (ispunct(ch))
            printf("[%c] = ispunct() : 화면에 출력 가능한 문자, 알파벳, 숫자, 공백 제외\n", ch);
 
        if (isspace(ch))
            printf("[%c] = isspace() : 공백 문자, \\f, \\n, \\r, \\t, \\v 포함\n", ch);
 
        if (isupper(ch))
            printf("[%c] = isupper() : 영문 대문자\n", ch);
 
        if (isxdigit(ch))
            printf("[%c] = isxdigit() : 16진수 숫자\n", ch);
 
        if (isascii(ch))
            printf("[%c] = isascii() : ASCII 문자(7bit)\n", ch);
 
        printf("----------------------------\n");
    } while (ch != EOF);
    fclose(fp);
}
cs

실행결과(Output):

 

이상,  JollyTree 였습니다. 꾸벅. (•̀ᴗ•́)و