strstr() 함수는 문자열 처리를 수행하는 데 사용되는 "string.h" 헤더 파일에 미리 정의된 함수입니다. 이 함수는 기본 문자열(예:str1)에서 부분 문자열(예:str2)의 첫 번째 발생을 찾는 데 사용됩니다.
구문
strstr()의 구문은 다음과 같습니다 -
char *strstr( char *str1, char *str2);
strstr()의 매개변수는
str2 기본 문자열 str1에서 검색하려는 하위 문자열입니다.
strstr()의 반환 값은
이 함수는 주 문자열에서 발견되면 검색하고 있는 하위 문자열의 첫 번째 발생의 주소 포인터를 반환하고, 그렇지 않으면 하위 문자열이 기본 문자열에 없을 때 null을 반환합니다.
참고 − 매칭 과정에 null 문자('\0')가 포함되지 않고 null 문자를 만나면 함수가 중지됩니다.
예시
Input: str1[] = {“Hello World”}
str2[] = {“or”}
Output: orld
Input: str1[] = {“tutorials point”}
str2[] = {“ls”}
Output: ls point 예시
#include <string.h>
#include <stdio.h>
int main() {
char str1[] = "Tutorials";
char str2[] = "tor";
char* ptr;
// Will find first occurrence of str2 in str1
ptr = strstr(str1, str2);
if (ptr) {
printf("String is found\n");
printf("The occurrence of string '%s' in '%s' is '%s'", str2, str1, ptr);
}
else
printf("String not found\n");
return 0;
} 출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
String is found The occurrence of string 'tor' in 'Tutorials' is 'torials
이제 strstr()의 다른 응용 프로그램을 사용해 보겠습니다.
또한 이 함수를 사용하여 문자열의 특정 부분을 대체할 수 있습니다. 예를 들어, 하위 문자열 str2가 처음 발견된 후 문자열 str1을 대체하려는 경우
예시
Input: str1[] = {“Hello India”}
str2[] = {“India”}
str3[] = {“World”}
Output: Hello World 설명 - str2가 str1에서 발견될 때마다 str3으로 대체될 것입니다.
예시
#include <string.h>
#include <stdio.h>
int main() {
// Take any two strings
char str1[] = "Tutorialshub";
char str2[] = "hub";
char str3[] = "point";
char* ptr;
// Find first occurrence of st2 in str1
ptr = strstr(str1, str2);
// Prints the result
if (ptr) {
strcpy(ptr, str3);
printf("%s\n", str1);
} else
printf("String not found\n");
return 0;
} 출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
Tutorialspoint