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