본문 바로가기
2학년 2학기/c언어

10-7장 문자(열) 처리 라이브러리(암기는 필요 없으나, 뭐하는 함수인지는 알아야함)

by print_soo 2024. 11. 5.

문자 처리 라이브러리 함수

 

#include <ctype.h>

함수 설명
isalpha(c) c가 영문자인가?(a-z, A-Z)
isupper(c) c가 대문자인가?(A-Z)
islower(c) c가 소문자인가?(a-z)
isdigit(c) c가 숫자인가?(0-9)
isalnum(c) c가 영문자이나 숫자인가?(a-z, A-Z, 0-9)
isxdigit(c) c16진수의 숫자인가?(0-9, A-F, a-f)
isspace(c) c가 공백문자인가?(‘ ’, ‘\n', '\t', '\v', '\r')
ispunct(c) c가 구두점 문자인가?
isprint(c) C출력가능한 문자인가?
iscntrl(c) c가 제어 문자인가?
isascii(c) c가 아스키 코드인가?
toupper(c) c를 대문자로 바꾼다.
tolower(c) c를 소문자로 바꾼다.
toascii(c) c를 아스키 코드로 바꾼다.

 

 

#include <stdio.h>
#include <ctype.h>

int main(void)
{
	int c;

	while ((c = getchar()) != EOF)
	// 1) 문자를 읽어서 c에 저장
	// 2) c와 EOF(End of File)인지 확인
	{
		if (islower(c))
			c = toupper(c);
		//c가 소문자라면 대문자로 변환
		putchar(c);
	}
	return 0;
}

 

 


 

 

 

 

 

문자열 처리 라이브러리

 

#include <string.h>

함수 설명
size_t strlen(const char *s) 문자열 s의 길이를 구함.  (NULL 제외)
char *strcpy(char *s1, const char *s2) s2s1에 복사함. s1값을 반환
char *strcat(char *s1, const char *s2) s2s1의 끝에 붙여 넣음. s1값을 반환
int strcmp(const char *s1, const char *s2) s1s2를 비교하여 s1s2보다 앞에 있다면 값을, s1s2보다 뒤에 있다면 +값을, 같다면 0을 반환
char *strncpy(char *s1, const char *s2, size_t n) s2의 최대 n개의 문자를 s1에 복사함.
char *strncat(char *s1, const char *s2, size_t n) s2의 최대 n개의 문자를 s1의 끝에 붙여 넣음.
int strncmp(const char *s1, const char *s2, size_t n) 최대 n개의 문자까지 s1s2를 비교함.
char *strchr(const char *s, int c) 문자열 s안에서 문자 c 처음 나타나는 곳을 반환함.
char *strrchr(const char *s, int c) 문자열 s안에서 문자 c 마지막으로 나타나는 곳을 반환함.
char *strstr(const char *s1, const char *s2) 문자열 s1에서 문자열 s2를 찾음.
char *strtok(char *s, const char *delimeter) 문자열 sdelimeter가 나오는 곳마다 분리하여 반환함

 

'2학년 2학기 > c언어' 카테고리의 다른 글

11-2장 구조체 변수의 대입과 비교  (0) 2024.11.11
11-1장 구조체  (0) 2024.11.11
10-6장 문자열의 배열  (0) 2024.11.05
10-5장 문자열과 포인터  (0) 2024.11.05
10-4장 문자열을 수치로 변환  (0) 2024.11.04