[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
예제(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 였습니다. 꾸벅. (•̀ᴗ•́)و