strstr() 함수는 string.h에 미리 정의된 함수입니다. 문자열에서 부분 문자열의 발생을 찾는 데 사용됩니다. 이 일치 프로세스는 '\0'에서 멈추고 포함하지 않습니다.
strstr()의 구문은 다음과 같습니다 -
char *strstr( const char *str1, const char *str2)
위의 구문에서 strstr()은 문자열 str1에서 문자열 str2의 첫 번째 출현을 찾습니다. strstr()을 구현하는 프로그램은 다음과 같습니다 -
예시
#include <iostream> #include <string.h> using namespace std; int main() { char str1[] = "Apples are red"; char str2[] = "are"; char *ptr; ptr = strstr(str1, str2); if(ptr) cout<<"Occurance of \""<< str2 <<"\" in \""<< str1 <<"\" is at position "<<ptr - str1 + 1; else cout<<"There is no occurance of \""<< str2 <<"\" in "<<str1; return 0; }
출력
위 프로그램의 출력은 다음과 같습니다 -
Occurance of "are" in "Apples are red" is at position 8
위의 프로그램에서 str1과 str2는 각각 "Apples is red"와 "are" 값으로 정의됩니다. 이것은 다음과 같습니다 -
char str1[] = "Apples are red"; char str2[] = "are"; char *ptr;
포인터 ptr은 "Apples is red"에서 "are"가 처음 나타나는 위치를 가리킵니다. 이것은 strstr() 함수를 사용하여 수행됩니다. 이에 대한 코드 스니펫은 다음과 같습니다. -
ptr = strstr(str1, str2);
포인터 ptr에 값이 포함되어 있으면 str1에서 str2의 위치가 표시됩니다. 그렇지 않으면 ptr1에 ptr2가 발생하지 않은 것으로 표시됩니다. 이것은 아래에 표시됩니다 -
if(ptr) cout<<"Occurance of \""<< str2 <<"\" in \""<< str1 <<"\" is at position "<<ptr - str1 + 1; else cout<<"There is no occurance of \""<< str2 <<"\" in "<<str1;에 \""<