Buscando el segundo "es", este no se encuetra debido a que find me retorna el indice de el primer caracter de "es", y al volver a usar found que ahora contiene el indice retornado por find de "es" y sumarle 1, find empieza a buscar "es" en la 's'. Por ese motivo no encuentra "es" en la cadena.
Estoy en lo correcto?
Código
string MiString{"Este es mi string"}; void BuscarEnString(string MiString) { size_t found = MiString.find("es"); if (found != string::npos) { cout << "\" es\" encontrado en la posicion: " <<found <<endl; } found = MiString.find("es", found+1); if (found != string::npos) { cout << "es encontrado en la posicion: " << found << endl; } }
Estoy entendiendo como funciona el metodo find?