Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++의 strstr() 함수

<시간/>

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