c++ find逆引き的使い方まとめ

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
}

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です