70 – 문자열 판별 함수

문자를 처리하기 위해서는 먼저 입력받은 값이 어떤 문자에 속하는지를 알아야 하는데, 이 부분을 아래와 같이 직접 구현할 수도 있지만, 문자 판별용 함수가 존재한다. 아래의 예시는 입력된 문자가 영문자인지 판별해서 영문자 개수를 세어 주는 예시를 만들었다.

20170422_23424820170422_234338

표준 라이브러리에서 영문자를 판별하는 isalpha 함수를 제공하고 있으므로 직접 작성한 예시에서 ch에 저장된 문자가 영문자인지를 판별하는 부분이 다음과 같이 바뀔 수 있다.

if(isalpha(ch))

프로그래밍이 엄청 쉬워졌다. 이래서 표준 라이브러리 함수들을 찾아서 쓰는 것이다.

문자 판별 함수들에 대해서는 목록과 같이 쭉 나와있다.

  • 함수이름 | 기능
  • isalnum | c에 저장된 문자가 영문자 또는 수치 문자인지 판별한다.
  • isalpha | c에 저장된 문자가 영문자인지 판별한다.
  • isascii | c에 저장된 문자가 ASCII 문자인지 판별한다.
  • isblank | c에 저장된 문자가 빈 공백(공백 문자 혹은 탭)인지 판별한다.
  • iscntrl | c에 저장된 문자가 제어 문자인지 판별한다.
  • isdigit | c에 저장된 문자가 수치 문자(‘0’ – ‘9’)인지 판별한다.
  • isgraph | c에 저장된 문자가 프린트 가능 문자(공백 문자 제외)인지 판별한다.
  • islower | c에 저장된 문자가 소문자인지 판별한다.
  • isprint | c에 저장된 문자가 프린트 가능 문자(공백 문자 포함)인지 판별한다.
  • ispunch | c에 저장된 문자가 구획 문자(공백, 영 수치 문자가 아니면서 출력 가능한 문자)인지 판별한다.
  • isspace | c에 저장된 문자가 공백 문자, 종이넘김, 탭, 복귀문자인지 판별한다.
  • isupper | c에 저장된 문자가 대문자인지 판별한다.
  • isxdigit | c에 저장된 문자가 16진수 수치 문자인지 판별한다.

여기 적은 함수들의 사용법은 같다. (자세한 형식은 직접 구글에 검색해보면 나온다.) 이 중에 isalpha 함수를 사용해 키보드로 입력받은 문자가 영문자인지를 판별해서 영문자만 별도로 출력하는 예시를 작성해보았다.

20170422_23440020170422_234500

“70 – 문자열 판별 함수”의 한가지 생각

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.