Cum se folosește funcția find_first_of () în C ++

How Use Find_first_of Function C



Există diferite funcții încorporate în C ++ pentru a lucra cu datele șirului. The find_first_of () funcția este utilizată pentru a găsi locația primei apariții a caracterului specificat. Această funcție returnează poziția primei apariții a șirului care va fi dată ca valoare argument a acestei funcții. Diferite utilizări ale acestei funcții pentru căutarea șirului în C ++ au fost explicate în acest tutorial.

Cerință prealabilă

Înainte de a verifica exemplele acestui tutorial, trebuie să verificați dacă compilatorul g ++ este instalat sau nu în sistem. Dacă utilizați Visual Studio Code, atunci instalați extensiile necesare pentru a compila codul sursă C ++ pentru a crea codul executabil. Aici, aplicația Visual Studio Code a fost utilizată pentru a compila și executa codul C ++.







Caracteristici ale funcției find_first_of ()

The find_first_of () funcția poate returna diferite tipuri de variabile pe baza valorii primului argument. Acesta va returna poziția de căutare a șirului dacă prima valoare a argumentului este un șir. Acesta va returna poziția de căutare a șirului de caractere dacă indicatorul la o matrice de caractere este dat în primul argument. Va returna poziția tampon dacă este dată valoarea celui de-al treilea argument. Va reveni la poziția caracterului dacă un caracter este dat în primul argument și există în șirul principal. Poziția inițială a căutării este stabilită în al doilea argument al acestei funcții. Sintaxa diferită a acestei funcții este dată mai jos.



Sintaxă

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



Exemplul 1: Căutați și înlocuiți caracterul particular al unui șir

Următorul exemplu arată modul de căutare a poziției caracterului particular într-un șir. Creați un fișier C ++ cu următorul cod pentru a înlocui caracterul special cu un alt caracter. În cod, find_first_of () funcția a fost utilizată pentru a căuta toate pozițiile unui anumit caracter într-un șir și a înlocui caracterele cu un alt caracter folosind bucla. Șirul original și șirul înlocuit vor fi tipărite după executarea codului.





// Includeți pentru imprimarea rezultatului
#include
// Includeți pentru utilizarea size_t
#include

intprincipal()
{
// Inițializați o variabilă șir
ore::şirstrData(„Bun venit la LinuxHint”);
// Imprimați șirul original
ore::cost << „Șirul original este:” +strData<< ' n';
// Aflați toate pozițiile personajului „i”
ore::mărime_tsearchList=strData.find_first_of(„eu”);
// Iterează bucla pentru a înlocui toate „i” cu „@”
in timp ce (searchList!=ore::şir::npos)
{
strData[searchList] = „@”;
searchList=strData.find_first_of(„eu”, searchList+1);
}
// Imprimați șirul modificat
ore::cost << „Șirul modificat este:” +strData<< ' n';

întoarcere 0;
}

Ieșire:

Următoarea ieșire va apărea după executarea codului de mai sus.



Exemplul 2: Căutați prima poziție a caracterelor de căutare

Creați un fișier C ++ cu următorul cod pentru a căuta poziția unui șir de caractere multiple și a reveni la prima poziție a caracterului care se potrivește cu șirul principal. Un șir de date a fost atribuit într-o variabilă de șir, iar prima poziție este stocată într-o variabilă întreagă. Valoarea poziției va fi tipărită după executarea codului.

// Includeți pentru imprimarea rezultatului
#include

intprincipal()
{
// Inițializați variabila șir
ore::şirstrData( „Programare de bază C ++”);
// Declarați variabila interger pentru a stoca poziția
intpoziţie;
// Căutați caracterul „C ++”
poziţie=strData.find_first_of( „K ++” );
// Verificați valoarea poziției
dacă (poziţie> = 0)
{
// Imprimați poziția dacă a fost găsit vreun caracter
ore::cost << 'Caracterul '' <<strData[poziţie]
<< '' a gasit' << „la poziție” <<poziţie<< ' n';
}

întoarcere 0;
}

Ieșire:

Următoarea ieșire va apărea după executarea codului de mai sus. Aici, personajul, ‘ + 'A șirului,' K ++ 'A găsit la poziție, 7 din șirul principal, „ Programare de bază C ++ '.

Exemplul 3: Căutați un anumit personaj după poziția respectivă

Creați un fișier C ++ cu următorul cod pentru a căuta un anumit caracter după poziția respectivă. Un șir de date este stocat în variabila șir și un anumit șir este căutat după poziție, 13. Dacă s-a găsit un caracter al șirului de căutare în șirul principal, atunci o valoare de poziție va fi returnată.

// Includeți pentru imprimarea rezultatului
#include

intprincipal()
{
// Inițializați o variabilă șir
ore::şirstrData= „mănâncă pentru a trăi, nu trăi pentru a mânca”;
// Imprimați șirul original
ore::cost << „Șirul original este:” +strData<< ' n';
// Imprimați poziția în care a fost găsit ultimul caracter
ore::cost<<„Ultimul personaj de potrivire găsit la poziția:”
<<strData.find_first_of('la',13) << ' n';
întoarcere 0;
}

Ieșire:

Următoarea ieșire va apărea după executarea codului de mai sus. Aici, personajul, ‘ la 'A șirului,' la 'A găsit la poziție, cincisprezece din șirul principal, „ mănâncă pentru a trăi, nu trăi pentru a mânca '.

Exemplul 4: Căutați poziția primului număr care se potrivește

Creați un fișier C ++ cu următorul cod pentru a căuta fiecare număr din prima listă de vectori din a doua listă de vectori și pentru a reveni la poziția numărului de potrivire a primei liste de vectori. Dacă se găsește un argument de potrivire, atunci valoarea poziției va fi returnată; în caz contrar, va fi tipărit un mesaj.

// Includeți pentru imprimarea rezultatului
#include
// Includeți pentru căutarea datelor în vector
#include
// Includeți pentru utilizarea datelor vectoriale
#include

intprincipal()
{
// Declarați lista cu doi vectori
ore::vectorlist1{10,5,65,31,7};
ore::vectorlist2{2,77,5,38,32,55};
// Căutați datele listei1 în listă2
autoieșire=ore::find_first_of(list1.începe(), list1.Sfârșit(), lista2.începe(), lista2.Sfârșit());
// Citiți poziția numărului care se potrivește
intpoziţie=ore::distanţă(list1.începe(), ieșire);

// Verificați orice număr de listă 1 se potrivește cu orice număr de listă2
dacă (ieșire<list1.Sfârșit()) {
ore::cost << „Primul număr de potrivire” <<list1[poziţie] << „găsit la poziție” <<poziţie<< ' n';
}
altceva {
ore::cost << „Nu a fost găsit niciun număr care să se potrivească. n';
}
}

Ieșire:

Următoarea ieșire va apărea după executarea codului de mai sus. Valoarea numărului, 5 din prima matrice, există în a doua matrice și poziția acestui număr este 1.

Concluzie

Funcția find_first_of () poate fi utilizată pentru a căuta un caracter sau un număr în diverse scopuri de programare. Această funcție poate fi utilizată pentru rezolvarea diferitelor probleme de căutare. Sper că programatorul C ++ poate folosi această funcție în mod corespunzător după ce a citit acest tutorial.