Puedes confirmarme la siguiente afirmación?
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?
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?
Exacto así es.
En cambio si el primer "Es" estuviera escrito en minúsculas también, encontraría ese y después empezaría a buscar desde la "s" del primer "es" y encontraría también el segundo.
Ohhh genial! Gracias.