C++における文字列マッチングアルゴリズムstrstr()関数の使い方


strstr()
const char* _cdecl strstr(const char* _Str, const char* _Substr);
char* _cdecl strstr(char* _String, const char* _SubString);

strstrstr(str 1,str 2)関数は、文字列str 2がstr 1のサブ列であるか否かを判断するために使用される.もしそうであれば、この関数はstr 2がstr 1で初めて現れたアドレスを返す.そうでなければNULLを返します
#include 
#include 
using namespace std;

int main()
{
	char str1[] = "abcdefg";
	char str2[] = "cde";
	char*p1 = strstr(str1, str2);
	cout << p1 << endl;                    //  str2 str1                  
	cout << (p1 - str1) << endl;           //  str2 str1         

	string str3 = "abcdefgdas";
	string str4 = "efg";
	const char* p2 = strstr(str3.c_str(), str4.c_str());
	cout << p2 - str3.c_str() << endl;      //  str4 str3         
	return 0;
}