반응형
반응형
문자열 비교 및 검색 함수
이번 시간에는 문자열을 검색하거나 비교할 때 유용한 strcmp, strstr, strchr 함수들을 알아보겠습니다. 이 함수들을 통해 문자열이 특정 패턴을 포함하는지 찾거나, 문자열이 서로 같은지를 비교할 수 있습니다. 각 함수의 함수 원형, 예제 코드, 실행 결과, 그리고 분석을 통해 자세히 알아보겠습니다.
문자열 비교 strcmp
strcmp는 두 문자열을 비교하여 같으면 0, 첫 번째가 작으면 음수, 크면 양수를 반환합니다.
함수 원형
int strcmp(const char *str1, const char *str2);
예제
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "apple";
char str2[] = "banana";
int result = strcmp(str1, str2);
printf("Comparison Result: %d\n", result);
return 0;
}
실행 결과
Comparison Result: -1
str1이 str2보다 사전순으로 앞에 있어 음수 값이 반환됩니다. (사전순 = 아스키코드 크기 순)
문자열 검색1 strstr
strstr는 문자열 안에 다른 문자열이 포함되어 있는지 확인하고, 첫 번째 발생 위치의 포인터를 반환합니다.
함수 원형
char *strstr(const char *haystack, const char *needle);
예제
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
char *result = strstr(str, "World");
if (result) {
printf("Substring found: %s\n", result);
} else {
printf("Substring not found.\n");
}
return 0;
}
실행 결과
Substring found: World!
strstr는 str에서 "World"를 찾아 해당 위치의 포인터를 반환합니다.
문자열 검색2 strchr
strchr는 문자열에서 특정 문자의 첫 번째 발생을 찾고, 그 위치의 포인터를 반환합니다.
함수 원형
char *strchr(const char *str, int c);
예제
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
char *result = strchr(str, 'W');
if (result) {
printf("Character found: %s\n", result);
} else {
printf("Character not found.\n");
}
return 0;
}
실행 결과
Character found: World!
strchr는 문자열 str에서 'W'의 첫 번째 위치를 찾고 그 위치의 포인터를 반환합니다.
반응형