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.