[C]ASCII관련 함수
이번장에서는 ASCII코드를 이용해서 동작하는 함수들을 몇가지 알아볼 계획입니다.
ASCII(American Standard Code for Information Interchange, 미국 정보 교환 표준 부호) 아스키 코드는 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계입니다. ( 아스키코드 나무위키 )
1️⃣ 헤더파일, 반환값
헤더파일: <ctype.h>
반환값:
함수 윈도우 리눅스 isalpha 알파벳(소문자): 2
알파벳(대문자): 1알파벳: 1 isalnum 알파벳(소문자): 2
알파벳(대문자): 1
숫자: 4숫자, 알파벳: 1 isascii 아스키코드(0~127): 1 아스키코드(0~127): 1 isdigit 숫자: 1 숫자: 1 isprint 알파벳(소문자): 2
알파벳(대문자): 1
숫자: 4
알파벳,숫자를 제외한 아스키코드(32~126): 16아스키코드(32~126)숫자: 1 isupper 알파벳(대문자): 1 알파벳(대문자): 1 islower 알파벳(소문자): 2 알파벳(소문자): 1 isspace 공백문자: 8 공백문자: 1 함수 성공시 반환값 나머지 반환값 tolower 알파벳(대문자): 소문자 입력값 그대로(int범위가 아니면 컴파일오류) toupper 알파벳(소문자): 대문자 입력값 그대로(int범위가 아니면 컴파일오류) < 공백문자 >
ASCII 문자 코드 뜻 32 ‘ ’ SPC 스페이스(공백) 9 ‘\t’ TAB 수평 탭 10 ‘\n’ LF 라인피드(줄바꿈) 11 ‘\v’ VT 수직 탭 12 ‘\f’ FF 폼 피드 13 ‘\r’ CR 캐리지리턴
2️⃣ 함수 구현(리눅스기준)
< isalpha >
int isalpha(int c)
{
if ((c >= 'A' && c <= 'Z') \
|| (c >= 'a' && c <= 'z'))
return (1);
return (0);
}
< isalnum >
int isalnum(int c)
{
if ((c >= 'A' && c <= 'Z') \
|| (c >= 'a' && c <= 'z') \
|| (c >= '0' && c <= '9'))
return (1);
return (0);
}
< isascii >
int isascii(int c)
{
if (c >= 0 && c <= 127)
return (1);
return (0);
}
< isdigit >
int isdigit(int c)
{
if (c >= '0' && c <= '9')
return (1);
return (0);
}
< isprint >
int isprint(int c)
{
if (c >= ' ' && c <= '~')
return (1);
return (0);
}
< isupper >
int isupper(int c)
{
if (c >= 'A' && c <= 'Z')
return (1);
return (0);
}
< islower >
int islower(int c)
{
if (c >= 'a' && c <= 'z')
return (1);
return (0);
}
< toupper >
int toupper(int c)
{
if (c >= 'a' && c <= 'z')
c -= ('a' - 'A');
return (c);
}
< tolower >
int tolower(int c)
{
if (c >= 'A' && c <= 'Z')
character += ('a' - 'A');
return (c);
}
< isspace >
int isspace(int c)
{
if (c == 32 || (c >= 9 && c <= 13)
return (1);
return (0);
}