I. 문자열 길이
1. strlen
#include <string.h>
size_t strlen(const char* s)
//size_t strlen(문자열)
전달되는 문자열의 길이를 반환한다.
II. 문자열 복사
1. strcpy
#include <string.h>
char* strcpy(char* dest, const char* src);
//char* strcpy(배열, 문자열);
복사된 문자열의 포인터를 반환한다.
배열에 문자열을 복사한다. 단, 배열의 길이보다 문자열의 길이가 길면 Overflow가 발생한다. 그래서 잘 안 쓴다.
2. strncpy
#include <string.h>
char* strncpy(char* dest, const char* src, size_t n);
//char* strncpy(배열, 문자열, 문자열 최대 길이);
복사된 문자열의 포인터를 반환한다.
배열에 문자열을 복사한다. 단, 복사하는 문자열의 최대 길이를 미리 정해준다.
III. 문자열 추가
1. strcat
#include <string.h>
char* strcat(char* dest, const char* src);
//char* strcat(문자열1, 문자열2);
추가된 문자열의 포인터를 반환한다.
문자열2를 문자열1의 뒤에 추가한다. 단, 추가할 공간이 부족하면 Overflow가 발생한다. 그래서 잘 안 쓴다.
2. strncat
#include <string.h>
char* strncat(char* dest, const char* src, size_t n);
//char* strncat(문자열1, 문자열2, 문자열2 최대 길이);
추가된 문자열의 포인터를 반환한다.
IV. 문자열 비교
1. strcmp
#include <string.h>
int strcmp(const char* s1, const char* s2);
//int strcmp(문자열1, 문자열2);
문자열1과 문자열2의 비교 결과를 반환한다.
반환 값 | 의미 |
양수 | 문자열1이 문자열2 보다 크다. |
0 | 문자열1과 문자열2가 완전히 같다. |
음수 | 문자열1이 문자열2 보다 작다. |
비교의 기준은 첫글자의 아스키코드 값이다. 첫글자가 같으면 순차적으로 다음 글자를 비교한다.
2. strncmp
#include <string.h>
int strncmp(const char* s1, const char* s2, size_t n);
//int strcmp(문자열1, 문자열2, 길이);
문자열1과 문자열2의 처음부터 길이 만큼을 비교한 결과를 반환한다.
V. 변환
1. 문자열을 숫자로 변환
#include <stdlib.h>
int atoi(char* string); //문자열을 int형 데이터로 변환
//int atoi(문자열);
long atol(char* string); //문자열을 long형 데이터로 변환
//int atol(문자열);
double atof(char* string); //문자열을 double형 데이터로 변환
2. 대소문자 변환
#include <ctypes.h>
int toupper(int c); //소문자를 대문자로
//int toupper(소문자);
int tolower(int c); //대문자를 소문자로
//int tolower(대문자);
'컴퓨터 > C' 카테고리의 다른 글
C typedef (0) | 2022.10.30 |
---|---|
C 중첩된 구조체 (0) | 2022.10.30 |
C 입력, 출력 (0) | 2022.10.24 |
C 문자 배열과 문자열 (0) | 2022.10.24 |
C 표준 라이브러리 (0) | 2022.10.23 |