c언어의 문자열 관련 함수들
strlen 함수 (문자열 길이)
1
| size_t strlen(const char *str);
|
strlen
함수는 주어진 문자열의 길이를 반환하는 함수이다 여기서 문자열의 끝을 나타내는 null 문자('\0'
)는 포함되지 않는다
1
2
3
4
5
6
7
8
9
| #include <stdio.h>
#include <string.h>
int main() {
char str[] = "안녕하세요";
size_t length = strlen(str);
printf("strlen(\"%s\") = %zu\n", str, length);
return 0;
}
|
strcpy 함수 (문자열 복사)
1
| char *strcpy(char *dest, const char *src);
|
strcpy
함수는 소스 문자열을 대상 문자열로 복사하는 함수이다
1
2
3
4
5
6
7
8
9
10
| #include <stdio.h>
#include <string.h>
int main() {
char src[] = "안녕하세요";
char dest[50];
strcpy(dest, src);
printf("strcpy(dest, \"%s\") = %s\n", src, dest);
return 0;
}
|
1
| strcpy(dest, "안녕하세요") = 안녕하세요
|
strncpy 함수 (지정된 길이만큼 문자열 복사)
1
| char *strncpy(char *dest, const char *src, size_t n);
|
strncpy
함수는 지정된 길이만큼 소스 문자열을 대상 문자열로 복사하는 함수이다
1
2
3
4
5
6
7
8
9
10
11
| #include <stdio.h>
#include <string.h>
int main() {
char src[] = "안녕하세요";
char dest[50];
strncpy(dest, src, 9);
dest[9] = '\0'; // 수동으로 null 문자 추가
printf("strncpy(dest, \"%s\", 9) = %s\n", src, dest);
return 0;
}
|
1
| strncpy(dest, "안녕하세요", 9) = 안녕하
|
strcat 함수 (문자열 연결)
1
| char *strcat(char *dest, const char *src);
|
strcat
함수는 소스 문자열을 대상 문자열의 끝에 연결하는 함수이다
1
2
3
4
5
6
7
8
9
10
| #include <stdio.h>
#include <string.h>
int main() {
char dest[50] = "Hello";
char src[] = " World";
strcat(dest, src);
printf("strcat(dest, \"%s\") = %s\n", src, dest);
return 0;
}
|
1
| strcat(dest, " World") = Hello World
|
strncat 함수 (지정된 길이만큼 문자열 연결)
1
| char *strncat(char *dest, const char *src, size_t n);
|
strncat
함수는 지정된 길이만큼 소스 문자열을 대상 문자열의 끝에 연결하는 함수이다
1
2
3
4
5
6
7
8
9
10
| #include <stdio.h>
#include <string.h>
int main() {
char dest[50] = "Hello";
char src[] = " World";
strncat(dest, src, 6);
printf("strncat(dest, \"%s\", 6) = %s\n", src, dest);
return 0;
}
|
1
| strncat(dest, " World", 6) = Hello World
|
strcmp 함수 (문자열 비교)
1
| int strcmp(const char *str1, const char *str2);
|
strcmp
함수는 두 문자열을 비교하는 함수로 문자열이 같으면 0을 반환하고, 다르면 음수 또는 양수를 반환한다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| #include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
int result = strcmp(str1, str2);
if (result == 0) {
printf("strcmp(\"%s\", \"%s\") = 0 (문자열이 같습니다)\n", str1, str2);
} else {
printf("strcmp(\"%s\", \"%s\") = %d (문자열이 다릅니다)\n", str1, str2, result);
}
return 0;
}
|
1
| strcmp("Hello", "World") = 1 (문자열이 다릅니다)
|
strncmp 함수 (지정된 길이만큼 문자열 비교)
1
| int strncmp(const char *str1, const char *str2, size_t n);
|
strncmp
함수는 지정된 길이만큼 두 문자열을 비교하는 함수이다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| #include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "Hell";
int result = strncmp(str1, str2, 4);
if (result == 0) {
printf("strncmp(\"%s\", \"%s\", 4) = 0 (문자열이 같습니다)\n", str1, str2);
} else {
printf("strncmp(\"%s\", \"%s\", 4) = %d (문자열이 다릅니다)\n", str1, str2, result);
}
return 0;
}
|
1
| strncmp("Hello", "Hell", 6) = 0 (문자열이 같습니다)
|
strchr 함수 (문자 위치 찾기)
1
| char *strchr(const char *str, int c);
|
strstr
함수는 문자열에서 특정 문자열의 첫 번째 발생 위치를 찾는 함수이다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| #include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
char *ptr = strchr(str, 'W');
if (ptr != NULL) {
printf("strchr(\"%s\", 'W') = %ld (문자 위치: %ld)\n", str, ptr - str, ptr - str);
} else {
printf("strchr(\"%s\", 'W') = NULL (문자를 찾을 수 없습니다)\n", str);
}
return 0;
}
|
1
| strchr("Hello, World!", 'W') = 7 (문자 위치: 7)
|