std::findを逆引き的に使用方法をまとめます。
文字列の中に一致した文字列があるか判定する
find関数で該当文字列が見つからなかった場合は、string::nposが返ります。
string str1 = "find";
string str2 = "abcdefindghij";
// str2からstr1を見つける
if(str2.find(str1) == string::npos){
// 見つからなかった場合がはnposが返る
}else{
// found
}
検索する文字列の範囲を指定する
findでは、何文字目から検索するか指定することができます。
文字の末尾は指定せず、頭何文字目から検索するには以下のように書きます。
string str1 = "find";
string str2 = "abcdefindghij";
// index5から探索するので、fから検索するので、foundになる
if(str2.find(str1,5) == string::npos){
// not found
}else{
// found
}