title: “C언어 문자열 5 다양한 문자,문자열 처리 입출력 라이브러리” categories:

  • C

    #C언어 문자열 5 다양한 문자,문자열 처리 입출력 라이브러리 : 네이버 블로그

문자를 처리하는 함수는 많은 사람들이 필요로 하므로 라이브러리로 제공된다.

문자들을 검사하거나 대문자를 소문자로 바꾸는 등의 기능을 담당한다.

다양한 문자 입출력 라이브러리는 헤더 파일 ctype.h에 지정된다.

문자 검사 라이브러리

말 그댈로 영문 알파벳인지,숫자인지 대문자인지 소문자인지 등을 검사한다.

   
isalpha(c) c가 영문자인가?
isupper(c) c가 대문자인가?
islower(c) c가 소문자인가?
isdigit(c) c가 숫자인가?
isalnum(c) c가 영문이나 숫자인가?
isxdigit(c) c가 16진수의 숫자인가?
isspace(c) c가 공백문자인가?
ispunct(c) c가 구두점 문자인가?
isprint(c) c가 출력 가능한 문자인가?
iscntrl(c) c가 제어 문자인가?
isascii(c) c가 아스키 코드인가?

문자 변환 라이브러리

   
toupper(c) c를 대문자로 바꾼다
tolower(c) c를 소문자로 바꾼다
toascii(c) c를 아스키 코드로 바꾼다

아래는 프로그래밍 시험때 나왔던 문제이다

키보드에 입력된 문자가 소문자이면 대문자로 바꾸어 주는 프로그램을 작성해라

#include
#include
int main() {
 int c;
 while ((c=getchar())!=EOF)
 {
 if (islower(c))
 c = toupper(c);
 putchar(c);
 }
}

문자를 입력받은 후 검사해 소문자이면 대문자로 변환시킨다

문자 처리 라이브러리을 알았으면 다음은 무엇이겠는가

문자열 처리 라이브러리이다.

문자열 처리 라이브러리는 헤더 파일 string.h에 위치하다. 또 복잡하기 때문에 기초적인 함수만 알아보겠다.

   
strlen(s) 문자열 s의 길이를 구한다
strcpy(s1,s2) s2를 s1에 복사한다
strcat(s1,s2) s2를 s1의 끝에 붙여넣는다
strcmp(s1, s2) s1과 s2를 비교한다
strncpy(s1, s2, n) s2개의 최대 n개의 문자를 s1에 복사한다
strchr(s1,c) 문자열 s1에서 문자 c를 찾는다
strstr(s1,s2) 문자열 s1에서 문자열 s2를 찾는다

문자열, 특히 데이터를 다룰 때 유용하게 쓸 수 있다.

적재적소에 맞게 사용하자. 다음은 구조체에 대해 알아보겠다

업데이트: