Slik bruker du funksjonen find_first_of () i C ++

How Use Find_first_of Function C



Det finnes forskjellige innebygde funksjoner i C ++ for å arbeide med strengdataene. De finn_forste_av () funksjonen brukes til å finne plasseringen til den første forekomsten av det angitte tegnet. Denne funksjonen returnerer posisjonen til den første forekomsten av strengen som vil bli gitt som argumentverdien for denne funksjonen. Ulike bruksområder for denne funksjonen for å søke etter strengen i C ++ har blitt forklart i denne opplæringen.

Forutsetning

Før du sjekker eksemplene på denne opplæringen, må du kontrollere at g ++ - kompilatoren er installert eller ikke i systemet. Hvis du bruker Visual Studio Code, må du installere de nødvendige utvidelsene for å kompilere C ++ - kildekoden for å lage den kjørbare koden. Her har Visual Studio Code -applikasjonen blitt brukt til å kompilere og utføre C ++ - koden.







Funksjoner i funksjonen find_first_of ()

De finn_forste_av () funksjon kan returnere forskjellige typer variabler basert på verdien til det første argumentet. Det vil returnere søkeposisjonen til strengen hvis den første argumentverdien er en streng. Det vil returnere søkeposisjonen til tegnstrengen hvis pekeren til en rekke tegn er gitt i det første argumentet. Det vil returnere bufferposisjonen hvis verdien til det tredje argumentet er gitt. Det vil returnere tegnposisjon hvis et tegn er gitt i det første argumentet, og det eksisterer i hovedstrengen. Startposisjonen for søket er angitt i det andre argumentet for denne funksjonen. Den forskjellige syntaksen til denne funksjonen er gitt nedenfor.



Syntaks

streng size_t find_first_of (const string & str, size_t pos = 0) const;
c-streng 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;
tegnstørrelse_t finn_forste_of (tegn c, størrelse_t pos = 0) const;



Eksempel 1: Søk etter og erstatt det bestemte tegnet i en streng

Følgende eksempel viser hvordan du søker i posisjonen til det bestemte tegnet i en streng. Lag en C ++ - fil med følgende kode for å erstatte det bestemte tegnet med et annet tegn. I koden, finn_forste_av () funksjonen har blitt brukt til å søke i alle posisjoner for et bestemt tegn i en streng og erstatte tegnene med et annet tegn ved å bruke løkken. Den originale strengen og den erstattede strengen skrives ut etter at koden er utført.





// Inkluder for utskrift av utskriften
#inkludere
// Inkluder for bruk av size_t
#inkludere

inthoved-()
{
// Initialiser en strengvariabel
timer::strengstrData('Velkommen til LinuxHint');
// Skriv ut den originale strengen
timer::koste << 'Den originale strengen er:' +strData<< ' n';
// Finn ut alle posisjonene til karakteren 'i'
timer::størrelse_tsøkeliste=strData.finn_forste_av('Jeg');
// Gjenta sløyfen for å erstatte alt 'i' med '@'
samtidig som (søkeliste!=timer::streng::npos)
{
strData[søkeliste] = '@';
søkeliste=strData.finn_forste_av('Jeg', søkeliste+1);
}
// Skriv ut den endrede strengen
timer::koste << 'Den endrede strengen er:' +strData<< ' n';

komme tilbake 0;
}

Produksjon:

Følgende utdata vises etter at koden ovenfor er utført.



Eksempel 2: Søk i den første plasseringen av søkekarakterene

Lag en C ++ - fil med følgende kode for å søke etter posisjonen til en streng med flere tegn og returnere den første plasseringen av tegnet som samsvarer med hovedstrengen. En strengdata er tilordnet i en strengvariabel, og den første posisjonen er lagret i en heltallsvariabel. Posisjonsverdien skrives ut etter at koden er utført.

// Inkluder for utskrift av utskriften
#inkludere

inthoved-()
{
// Initialiser strengvariabelen
timer::strengstrData( 'Grunnleggende C ++ programmering');
// Deklarere intergervariabelen for å lagre posisjonen
intposisjon;
// Søk etter tegnet 'C ++'
posisjon=strData.finn_forste_av( 'K ++' );
// Kontroller posisjonsverdien
hvis (posisjon> = 0)
{
// Skriv ut posisjonen hvis et tegn ble funnet
timer::koste << 'Karakteren '' <<strData[posisjon]
<< '' har funnet' << 'i stillingen' <<posisjon<< ' n';
}

komme tilbake 0;
}

Produksjon:

Følgende utdata vises etter at koden ovenfor er utført. Her er karakteren ' + 'Av strengen,' K ++ Har funnet på stillingen, 7 av hovedstrengen, ' Grunnleggende C ++ programmering '.

Eksempel 3: Søk etter et bestemt tegn etter den bestemte posisjonen

Lag en C ++ - fil med følgende kode for å søke etter et bestemt tegn etter den bestemte posisjonen. En strengdata lagres i strengvariabelen, og en bestemt streng søkes etter posisjonen, 13. Hvis noen tegn i søkestrengen er funnet i hovedstrengen, vil en posisjonsverdi returneres.

// Inkluder for utskrift av utskriften
#inkludere

inthoved-()
{
// Initialiser en strengvariabel
timer::strengstrData= 'spise for å leve, ikke leve for å spise';
// Skriv ut den originale strengen
timer::koste << 'Den originale strengen er:' +strData<< ' n';
// Skriv ut posisjonen der det siste tegnet ble funnet
timer::koste<<'Det siste matchende tegnet som ble funnet på stillingen:'
<<strData.finn_forste_av('på',1. 3) << ' n';
komme tilbake 0;
}

Produksjon:

Følgende utdata vises etter at koden ovenfor er utført. Her er karakteren ' til 'Av strengen,' Har funnet på stillingen, femten av hovedstrengen, ' spise for å leve, ikke leve for å spise '.

Eksempel 4: Søk i posisjonen til det første matchende nummeret

Opprett en C ++ - fil med følgende kode for å søke i hvert nummer i den første vektorlisten i den andre vektorlisten og returnere posisjonen til det matchende nummeret til den første vektorlisten. Hvis et matchende argument blir funnet, blir posisjonsverdien returnert; Ellers skrives det ut en melding.

// Inkluder for utskrift av utskriften
#inkludere
// Inkluder for søk i data i vektoren
#inkludere
// Inkluder for bruk av vektordata
#inkludere

inthoved-()
{
// Deklarer to vektorliste
timer::vektorliste 1{10,5,65,31,7};
timer::vektorliste 2{2,77,5,38,32,55};
// Søk dataene til liste1 inn i listen2
autoproduksjon=timer::finn_forste_av(liste 1.begynne(), liste 1.slutt(), liste 2.begynne(), liste 2.slutt());
// Les posisjonen til det matchende nummeret
intposisjon=timer::avstand(liste 1.begynne(), utgang);

// Kontroller et hvilket som helst antall liste1 samsvarer med et hvilket som helst antall liste2
hvis (produksjon<liste 1.slutt()) {
timer::koste << 'Det første matchende nummeret' <<liste 1[posisjon] << 'funnet på posisjon' <<posisjon<< ' n';
}
ellers {
timer::koste << 'Fant ikke noe samsvarende nummer. n';
}
}

Produksjon:

Følgende utdata vises etter at koden ovenfor er utført. Tallverdien, 5 i den første matrisen, eksisterer i den andre matrisen og plasseringen av dette tallet er 1.

Konklusjon

Funksjonen find_first_of () kan brukes til å søke etter et tegn eller tall for forskjellige programmeringsformål. Denne funksjonen kan brukes til å løse de forskjellige søkeproblemene. Jeg håper C ++ programmereren kan bruke denne funksjonen ordentlig etter å ha lest denne opplæringen.