Com s'utilitza la funció find_first_of () a C ++

How Use Find_first_of Function C



Hi ha diferents funcions integrades a C ++ per treballar amb les dades de la cadena. El find_first_of () s'utilitza per trobar la ubicació de la primera aparició del caràcter especificat. Aquesta funció retorna la posició de la primera aparició de la cadena que es donarà com a valor d'argument d'aquesta funció. En aquest tutorial s’han explicat els diferents usos d’aquesta funció per cercar la cadena en C ++.

Requisit previ

Abans de comprovar els exemples d’aquest tutorial, heu de comprovar que el compilador g ++ està instal·lat o no al sistema. Si utilitzeu Visual Studio Code, instal·leu les extensions necessàries per compilar el codi font de C ++ per crear el codi executable. Aquí, s’ha utilitzat l’aplicació Visual Studio Code per compilar i executar el codi C ++.







Característiques de la funció find_first_of ()

El find_first_of () La funció pot retornar diferents tipus de variables segons el valor del primer argument. Tornarà la posició de cerca de la cadena si el primer valor d'argument és una cadena. Tornarà la posició de cerca de la cadena de caràcters si es dóna el punter a una matriu de caràcters al primer argument. Tornarà la posició del buffer si es dóna el valor del tercer argument. Tornarà la posició del caràcter si es dóna un caràcter al primer argument i existeix a la cadena principal. La posició inicial de la cerca es defineix en el segon argument d'aquesta funció. A continuació es mostra la sintaxi d'aquesta funció.



Sintaxi

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;
caràcter size_t find_first_of (char c, size_t pos = 0) const;



Exemple 1: cerqueu i substituïu el caràcter particular d'una cadena

L'exemple següent mostra la manera de cercar la posició del caràcter concret en una cadena. Creeu un fitxer C ++ amb el codi següent per substituir el caràcter en particular per un altre. Al codi, el fitxer find_first_of () S'ha utilitzat la funció per buscar totes les posicions d'un caràcter concret en una cadena i substituir els caràcters per un altre caràcter mitjançant el bucle. La cadena original i la cadena substituïda s’imprimiran després d’executar el codi.





// Inclou per imprimir la sortida
#incloure
// Inclou per utilitzar size_t
#incloure

intprincipal()
{
// Inicialitzar una variable de cadena
hores::cordastrData('Benvingut a LinuxHint');
// Imprimiu la cadena original
hores::cost << 'La cadena original és:' +strData<< ' n';
// Esbrineu tota la posició del personatge 'i'
hores::mida_tllista de cerca=strData.trobar_primer_de('jo');
// Iterar el bucle per substituir tot 'i' per '@'
mentre (llista de cerca!=hores::corda::npos)
{
strData[llista de cerca] = '@';
llista de cerca=strData.trobar_primer_de('jo', cercaLista+1);
}
// Imprimiu la cadena modificada
hores::cost << 'La cadena modificada és:' +strData<< ' n';

tornar 0;
}

Sortida:

La sortida següent apareixerà després d'executar el codi anterior.



Exemple 2: cerqueu la primera posició dels caràcters que cerquen

Creeu un fitxer C ++ amb el codi següent per cercar la posició d'una cadena de diversos caràcters i tornar la primera posició del caràcter que coincideixi amb la cadena principal. S'han assignat dades de cadena en una variable de cadena i la primera posició s'emmagatzema en una variable sencera. El valor de la posició s'imprimirà després d'executar el codi.

// Inclou per imprimir la sortida
#incloure

intprincipal()
{
// Inicialitzeu la variable de cadena
hores::cordastrData( 'Programació bàsica de C ++');
// Declareu la variable interger per emmagatzemar la posició
intposició;
// Cerqueu el caràcter 'C ++'
posició=strData.trobar_primer_de( 'K ++' );
// Comproveu el valor de la posició
si (posició> = 0)
{
// Imprimiu la posició si es troba algun caràcter
hores::cost << 'El caracter '' <<strData[posició]
<< 'ha trobat' << 'a la posició' <<posició<< ' n';
}

tornar 0;
}

Sortida:

La sortida següent apareixerà després d'executar el codi anterior. Aquí, el personatge, ‘ + 'De la cadena,' K ++ 'Ha trobat a la posició, 7 de la cadena principal, ' Programació bàsica de C ++ '.

Exemple 3: cerqueu un personatge concret després de la posició concreta

Creeu un fitxer C ++ amb el codi següent per cercar un caràcter concret després de la posició concreta. Les dades d'una cadena s'emmagatzemen a la variable de cadena i es busca una cadena particular després de la posició, 13. Si s'ha trobat algun caràcter de la cadena de cerca a la cadena principal, es retornarà un valor de posició.

// Inclou per imprimir la sortida
#incloure

intprincipal()
{
// Inicialitzar una variable de cadena
hores::cordastrData= 'menjar per viure, no viure per menjar';
// Imprimiu la cadena original
hores::cost << 'La cadena original és:' +strData<< ' n';
// Imprimiu la posició on s'ha trobat l'últim caràcter
hores::cost<<'L'últim caràcter coincident trobat a la posició:'
<<strData.trobar_primer_de('a',13) << ' n';
tornar 0;
}

Sortida:

La sortida següent apareixerà després d'executar el codi anterior. Aquí, el personatge, ‘ a 'De la cadena,' a 'Ha trobat a la posició, 15 de la cadena principal, ' menjar per viure, no viure per menjar '.

Exemple 4: cerqueu la posició del primer número coincident

Creeu un fitxer C ++ amb el codi següent per cercar cada número de la primera llista de vectors de la segona llista de vectors i retornar la posició del número coincident de la primera llista de vectors. Si es troba un argument coincident, es retornarà el valor de posició; en cas contrari, s’imprimirà un missatge.

// Inclou per imprimir la sortida
#incloure
// Inclou la cerca de dades al vector
#incloure
// Inclou per utilitzar dades vectorials
#incloure

intprincipal()
{
// Declareu la llista de dos vectors
hores::vectorllista1{10,5,65,31,7};
hores::vectorllista2{2,77,5,38,32,55};
// Cerqueu les dades de la llista1 a la llista2
automàticsortida=hores::trobar_primer_de(llista1.començar(), llista1.final(), llista2.començar(), llista2.final());
// Llegiu la posició del número coincident
intposició=hores::distància(llista1.començar(), sortida);

// Comproveu qualsevol número de llista1 coincident amb qualsevol nombre de llista2
si (sortida<llista1.final()) {
hores::cost << 'El primer número coincident' <<llista1[posició] << 'trobat a la seva posició' <<posició<< ' n';
}
en cas contrari {
hores::cost << 'No s'ha trobat cap número coincident. n';
}
}

Sortida:

La sortida següent apareixerà després d'executar el codi anterior. El valor del número, 5 de la primera matriu, existeix a la segona matriu i la posició d’aquest número és 1.

Conclusió

La funció find_first_of () es pot utilitzar per cercar un caràcter o número amb diversos propòsits de programació. Aquesta funció es pot utilitzar per resoldre diversos problemes de cerca. Espero que el programador C ++ pugui utilitzar aquesta funció correctament després de llegir aquest tutorial.