특정 문자열 찾기/검색 & 치환 - strstr 함수
strstr 함수란?
- strstr 함수는 C언어에서 제공하는 함수 중 하나로, 특정 문자열에서 원하는 문자열을 찾아주는 역할을 합니다.
- 두 개의 문자열을 비교하여, 첫 번째 문자열에서 두 번째 문자열이 시작하는 위치의 포인터를 반환합니다.
- 반환된 포인터는 첫 번째 문자열에서 두 번째 문자열이 처음으로 등장하는 위치를 가리키게 됩니다.
- 문자열이 존재하지 않는 경우에는
NULL
을 반환합니다.
사용법
#include <string.h>
char *strstr(const char *haystack, const char *needle);
매개변수:
haystack
: 검색 대상이 되는 문자열needle
: 찾고자 하는 문자열
반환값:
needle
이haystack
에 존재할 경우,needle
이 시작하는 위치의 포인터needle
이haystack
에 존재하지 않을 경우,NULL
예제
다음은 strstr
함수를 사용하여 문자열에서 특정 문자열을 찾는 예제입니다.
#include <stdio.h>
#include <string.h>
int main() {
char source[] = "Hello, world!";
char *found;
found = strstr(source, "world"); // "world" 문자열 찾기
if (found != NULL) {
printf("찾은 문자열: %s\n", found);
} else {
printf("문자열을 찾을 수 없습니다.\n");
}
return 0;
}
위 예제에서는 source
문자열에서 "world" 문자열을 찾고, 결과에 따라 해당 결과를 출력하거나 문자열을 찾을 수 없다는 메시지를 출력합니다.
결과
찾은 문자열: world!
위 예제에서는 "world" 문자열을 찾았기 때문에 해당 문자열이 출력되었습니다.
참고 사항
strstr
함수는 대소문자를 구분하므로, 찾고자 하는 문자열과 대상 문자열의 대소문자가 일치해야 정확한 결과를 얻을 수 있습니다.strstr
함수는 문자열을 찾는 과정에서 매우 효율적으로 동작하므로, 대규모의 텍스트에서도 빠른 속도로 해당 문자열을 찾을 수 있습니다.
댓글