✅ 목표 (Goal)

C언어의 문자열 관련 함수는 무엇이 있는지 몽땅 알아보자.

✅ 목표 (Goal)

C99 표준 문자열 함수는 아래와 같다.

음영 처리된 부분은 사용 빈도가 낮은 함수이다. 백색 부분의 함수만 만들어 보자.

C언어문자열함수목록.xlsx

image.png

char* str= “abc”; // (1)

char* str2= “xyz”; // (2)

strcpy(str1, str2); // (3)

No. 구분 표준 문자열 함수
return type func name parameters list
1 문자열 길이 함수 size_t strlen (const char* str);
2 문자열 복사 함수 char* strcpy (char* dest, const char *src);
3 char* strpcpy (char* dest, const char *src);
4 char* strncpy (char* dest, const char *src, size_t max_len);
5 문자열 연결 함수 char* strcat (char* dest, const char* src);
6 char* strncat (char* dest, const char* src, size_t max_len);
7 문자열 비교 함수 char* strcmp (const char* s1, const char* s2);
8 char* stricmp (const char* s1, const char* s2);
9 char* strncmp (const char* s1, const char* s2, size_t max_len);
10 char* strnicmp (const char* s1, const char* s2, size_t max_len);
11 문자열 탐색 함수 char* strchr (const char* s, int c);
12 char* strrchr (const char* s, int c);
13 char* strstr (const char* s1, const char* s2);
14 char* strpbrk (const char* s1, const char* s2);
15 문자열 변경 함수 char* strset (char* s, int c);
16 char* strnset (char* s, int c, isze_t n)
17 char* strlwr (char* s);
18 char* strupr (char* s);
19 char* strev (char* s);
20 수치 → 문자열
변환함수 char* itoa (int value, char* str, int radix);
21 char* ltoa (long value, char* str, int radix);
22 char* utoa (unsigned long value, char* str, int radix);
23 char* ecvt (double value, int ndig, int *dec, int *sign);
24 char* fcvt (double value, int ndig, int *dec, int *sign);
25 char* gcvt (double value, int ndec, char* buf);
26 문자열 →수치
변환함수 int atoi (const char* s);
27 long atol (const char* s);
28 long strtol (const char* s, char **endptr, intradix);
29 unsigned long strtoul (const char *s, char **endptr, int radix);
30 double atof (const char *s);
31 double strtod (const char *s, char **endptr);

✅ 자주 사용되는 문자열 함수