[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);
}




© 2021.02. by kirim

Powered by kkrim