2009-03-16 13 views

Respuesta

25

Pruebe la función find.

Aquí está el ejemplo del artículo de vinculé:

string str1("Alpha Beta Gamma Delta"); 
string::size_type loc = str1.find("Omega", 0); 
if(loc != string::npos) { 
    cout << "Found Omega at " << loc << endl; 
} else { 
    cout << "Didn't find Omega" << endl; 
} 
+0

¿Existe alguna función para encontrar realmente el _index_ en el que comienza la subcadena? Podría restar el iterador de inicio, pero ¿es eso necesario? –

4

Se busca la plantilla std::basic_string<> función:

size_type find(const basic_string& s, size_type pos = 0) const; 

Esto devuelve el índice o std::string::npos si no se encuentra la cadena.

1

no estoy exactamente seguro de lo que significa su ejemplo, pero para la clase string STL, mira en find y rfind

5

No está claro de su ejemplo qué cadena que está buscando "bob", pero Así es cómo buscar una subcadena en C++ usando find.

string str1("Alpha Beta Gamma Delta"); 
string::size_type loc = str1.find("Omega", 0); 

if(loc != string::npos) 
{ 
    cout << "Found Omega at " << loc << endl; 
} 
else 
{ 
    cout << "Didn't find Omega" << endl; 
} 
Cuestiones relacionadas