basic_string::find_first_of (STL Samples)
Muestra cómo utilizar la función de biblioteca de (STL) plantillas estándar de basic_string:: find_first_of en Visual C++.
size_type find_first_of(
const basic_string& _X,
size_type iPos = 0
);
size_type find_first_of(
const element_type *_S,
size_type iPos,
size_type cElementsIn_S
);
size_type find_first_of(
const element_type *_S,
size_type iPos = 0
);
size_type find_first_of(
element_type _C,
size_type iPos = 0
);
Comentarios
[!NOTA]
La clase y los nombres de parámetro en el prototipo no coincide con la versión del archivo de encabezado.Algunos se han modificado para mejorar la legibilidad.
Las funciones miembro cada búsqueda el primer elemento (de la posición inferior) de la secuencia controlada en o después de los iPos de posición que coincide con cualquiera de los elementos de la secuencia de operando especificados por los operandos restantes.Si se realiza correctamente, devuelve la posición.si no, la función devuelve npos.La posición devuelta es 0 (cero) basados.El valor devuelto de los npos es un valor especial que indica que no se encontró ninguno de los elementos.
Ejemplo
// main.cpp
// compile with: /EHsc
//
// Functions:
//
// string::find_first_of() - find the first instance in the
// controlled string of any of the elements specified by the
// parameters. The search begins at an optionally-supplied
// position in the controlled string.
#include <string>
#include <iostream>
using namespace std ;
int main()
{
string str1("Heartbeat");
string str2("abcde");
size_t iPos = 0;
cout << "The string to search is '" << str1.c_str() << "'"
<< endl;
// find the first instance in str1 of any characters in str2
iPos = str1.find_first_of (str2, 0); // 0 is default position
cout << "Element in '" << str2.c_str() << "' found at position "
<< iPos << endl;
// start looking in the third position...
iPos = str1.find_first_of (str2, 2);
cout << "Element in '" << str2.c_str() << "' found at position "
<< iPos << endl;
// use an array of the element type as the set of elements to
// search for; look for anything after the fourth position
char achVowels[] = {'a', 'e', 'i', 'o', 'u'};
iPos = str1.find_first_of (achVowels, 4, sizeof(achVowels));
cout << "Element in '";
for (int i = 0; i < sizeof (achVowels); i++)
cout << achVowels[i];
cout << "' found at position " << iPos << endl;
// use a string literal to specify the set of elements
char szVowels[] = "aeiou";
iPos = str1.find_first_of (szVowels, 0); // 0 is default position
cout << "Element in '" << szVowels << "' found at position "
<< iPos << endl;
// look for a specific character beginning in the third position
iPos = str1.find_first_of ('e', 2);
cout << "'e' found at position " << iPos << endl;
}
Output
The string to search is 'Heartbeat'
Element in 'abcde' found at position 1
Element in 'abcde' found at position 2
Element in 'aeiou' found at position 6
Element in 'aeiou' found at position 1
'e' found at position 6
Requisitos
encabezado: <cadena>