Cómo usar la función find_first_of en c ++

Cómo usar la función find_first_of en c ++
Existen diferentes funciones incorporadas en C ++ para trabajar con los datos de la cadena. El find_first_of () La función se utiliza para encontrar la ubicación de la primera aparición del carácter especificado. Esta función devuelve la posición de la primera ocurrencia de la cadena que se dará como el valor de argumento de esta función. Se han explicado diferentes usos de esta función para buscar la cadena en C ++.

Requisito previo

Antes de verificar los ejemplos de este tutorial, debe verificar que el compilador G ++ esté instalado o no en el sistema. Si está utilizando el código Visual Studio, instale las extensiones necesarias para compilar el código fuente de C ++ para crear el código ejecutable. Aquí, la aplicación de código de Visual Studio se ha utilizado para compilar y ejecutar el código C ++.

Características de la función find_first_of ()

El find_first_of () La función puede devolver diferentes tipos de variables en función del valor del primer argumento. Devolverá la posición de búsqueda de la cadena si el primer valor de argumento es una cadena. Devolverá la posición de búsqueda de la cadena de caracteres si el puntero a una matriz de caracteres se da en el primer argumento. Devolverá la posición del búfer si se da el valor del tercer argumento. Devolverá la posición del personaje si se da un personaje en el primer argumento y existe en la cadena principal. La posición inicial de la búsqueda se establece en el segundo argumento de esta función. La diferente sintaxis de esta función se da a continuación.

Sintaxis

String size_t find_first_of (const string & str, size_t pos = 0) const;
c-string size_t find_first_of (const char* s, size_t pos = 0) const;
buffer size_t find_first_of (const char* s, size_t pos, size_t n) const;
caracteres size_t find_first_of (char c, size_t pos = 0) const;

Ejemplo 1: Busque y reemplace el carácter particular de una cadena

El siguiente ejemplo muestra la forma de buscar la posición del carácter en particular en una cadena. Cree un archivo C ++ con el siguiente código para reemplazar el carácter en particular con otro carácter. En el código, el find_first_of () La función se ha utilizado para buscar todas las posiciones de un carácter particular en una cadena y reemplazar los caracteres con otro carácter usando el bucle. La cadena original y la cadena reemplazada se imprimirán después de ejecutar el código.

// incluir para imprimir la salida
#incluir
// incluir para usar size_t
#incluir
int main ()

// Inicializar una variable de cadena
std :: string strData ("Bienvenido a Linuxhint");
// imprime la cadena original
std :: cout << "The original string is: " + strData << '\n';
// Descubre toda la posición del personaje 'I'
std :: size_t searchList = strdata.find_first_of ("i");
// iterar el bucle para reemplazar todo 'i' por '@'
Mientras (SearchList!= std :: string :: npos)

strData [SearchList] = '@';
SearchList = strdata.find_first_of ("I", SearchList+1);

// imprime la cadena modificada
std :: cout << "The modified string is: " + strData << '\n';
regresar 0;

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior.

Ejemplo 2: Busque la primera posición de los caracteres de búsqueda

Cree un archivo C ++ con el siguiente código para buscar la posición de una cadena de múltiples caracteres y devuelva la primera posición del carácter que coincida con la cadena principal. Se han asignado datos de cadena en una variable de cadena, y la primera posición se almacena en una variable entera. El valor de posición se imprimirá después de ejecutar el código.

// incluir para imprimir la salida
#incluir
int main ()

// Inicializar la variable de cadena
std :: string strData ("programación básica de C ++");
// Declarar la variable Interger para almacenar la posición
INT POSICIÓN;
// busca el personaje 'C ++'
posición = strdata.find_first_of ("k ++");
// Verifique el valor de posición
if (posición> = 0)

// imprima la posición si el personaje encontrado
std :: cout << "The character '" << strData[position]
<< "' has found" << " at the position " << position << '\n';

regresar 0;

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior. Aquí, el personaje ','+'de la cadena'K++'ha encontrado en la posición, 7 de la cadena principal, 'Programación básica de C ++'.

Ejemplo 3: Busque un carácter en particular después de la posición particular

Cree un archivo C ++ con el siguiente código para buscar un carácter en particular después de la posición en particular. Se almacenan datos de cadena en la variable de cadena, y se busca una cadena particular después de la posición, 13. Si se ha encontrado algún carácter de la cadena de búsqueda en la cadena principal, entonces se devolverá un valor de posición.

// incluir para imprimir la salida
#incluir
int main ()

// Inicializar una variable de cadena
std :: string strData = "come para vivir, no vivir para comer";
// imprime la cadena original
std :: cout << "The original string is: " + strData << '\n';
// imprime la posición donde encontró el último personaje
std :: cout<<"The last matching character found at the position :"
<< strData.find_first_of("at",13) << '\n';
regresar 0;

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior. Aquí, el personaje ','a'de la cadena'en'ha encontrado en la posición, 15 de la cadena principal, 'come para vivir no vivas para comer'.

Ejemplo 4: Busque la posición del primer número de coincidencia

Cree un archivo C ++ con el siguiente código para buscar cada número de la primera lista de vectores en la segunda lista de vectores y devuelva la posición del número de coincidencia de la primera lista de vectores. Si se encuentra un argumento coincidente, se devolverá el valor de posición; de lo contrario, se imprimirá un mensaje.

// incluir para imprimir la salida
#incluir
// incluir para buscar datos en el vector
#incluir
// incluir para usar datos vectoriales
#incluir
int main ()

// Declarar dos listas de vectores
std :: vector list1 10, 5, 65, 31, 7;
std :: vector list2 2, 77, 5, 38, 32, 55;
// busca los datos de la lista1 en la lista2
Salida automática = std :: find_first_of (list1.comenzar(),
Lista1.end (), list2.begin (), list2.fin());
// Lea la posición del número coincidente
int posición = std :: distancia (list1.begin (), salida);
// Verifique cualquier número de List1 coincide con cualquier número de List2
if (salida < list1.end())
std :: cout << "The first matching number " <<
list1 [posición] << " found at position " <<
posición << "\n";

demás
std :: cout << "No matching number found.\n";

Producción:

La siguiente salida aparecerá después de ejecutar el código anterior. El valor número, 5 de la primera matriz, existe en la segunda matriz y la posición de este número es 1.

Conclusión

La función find_first_of () se puede usar para buscar un carácter o número para varios fines de programación. Esta función se puede utilizar para resolver los diversos problemas de búsqueda. Espero que el programador C ++ pueda usar esta función correctamente después de leer este tutorial.