Sådan bruges funktionen find_first_of () i C ++

How Use Find_first_of Function C



Der findes forskellige indbyggede funktioner i C ++ for at arbejde med strengedataene. Det find_first_of () funktion bruges til at finde placeringen af ​​den første forekomst af det angivne tegn. Denne funktion returnerer placeringen af ​​den første forekomst af strengen, der vil blive givet som argumentværdi for denne funktion. Forskellige anvendelser af denne funktion til søgning efter strengen i C ++ er blevet forklaret i denne vejledning.

Forudsætning

Inden du kontrollerer eksemplerne på denne vejledning, skal du kontrollere, at g ++ - kompilatoren er installeret eller ikke i systemet. Hvis du bruger Visual Studio Code, skal du installere de nødvendige udvidelser for at kompilere C ++ - kildekoden for at oprette den eksekverbare kode. Her er Visual Studio Code -applikationen blevet brugt til at kompilere og eksekvere C ++ - koden.







Funktioner i funktionen find_first_of ()

Det find_first_of () funktion kan returnere forskellige typer variabler baseret på værdien af ​​det første argument. Det vil returnere strengens søgeposition, hvis den første argumentværdi er en streng. Det returnerer søgestillingen for tegnstrengen, hvis markøren til en række tegn er givet i det første argument. Det vil returnere bufferpositionen, hvis værdien af ​​det tredje argument er givet. Det returnerer tegnposition, hvis et tegn er givet i det første argument, og det findes i hovedstrengen. Startpositionen for søgningen er indstillet i det andet argument for denne funktion. Den forskellige syntaks for denne funktion er angivet 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;
tegn size_t find_first_of (tegn c, size_t pos = 0) const;



Eksempel 1: Søg efter og erstat det særlige tegn i en streng

Følgende eksempel viser måden at søge efter det særlige tegn i en streng på. Opret en C ++ - fil med følgende kode for at erstatte det bestemte tegn med et andet tegn. I koden er find_first_of () funktion er blevet brugt til at søge alle positioner for et bestemt tegn i en streng og erstatte tegnene med et andet tegn ved hjælp af sløjfen. Den originale streng og den udskiftede streng udskrives, når koden er udført.





// Inkluder til udskrivning af output
#omfatte
// Inkluder for brug af size_t
#omfatte

intvigtigste()
{
// Initialiser en strengvariabel
timer::snorstrData('Velkommen til LinuxHint');
// Udskriv den originale streng
timer::koste << 'Den originale streng er:' +strData<< ' n';
// Find ud af alle positionerne for karakteren 'i'
timer::størrelse_tsearchList=strData.find_first_of('jeg');
// Iterér sløjfen for at erstatte alt 'i' med '@'
mens (searchList!=timer::snor::npos)
{
strData[searchList] = '@';
searchList=strData.find_first_of('jeg', searchList+1);
}
// Udskriv den ændrede streng
timer::koste << 'Den ændrede streng er:' +strData<< ' n';

Vend tilbage 0;
}

Produktion:

Følgende output vises efter udførelse af ovenstående kode.



Eksempel 2: Søg efter den første placering af de søgende tegn

Opret en C ++ - fil med følgende kode for at søge efter placeringen af ​​en streng med flere tegn og returnere den første position i tegnet, der matcher med hovedstrengen. En strengdata er blevet tildelt i en strengvariabel, og den første position gemmes i en heltalsvariabel. Positionsværdien udskrives, når koden er udført.

// Inkluder til udskrivning af output
#omfatte

intvigtigste()
{
// Initialiser strengvariablen
timer::snorstrData( 'Grundlæggende C ++ programmering');
// Angiv intergervariablen for at gemme positionen
intposition;
// Søg efter tegnet 'C ++'
position=strData.find_first_of( 'K ++' );
// Kontroller positionsværdien
hvis (position> = 0)
{
// Udskriv positionen, hvis et tegn blev fundet
timer::koste << 'Karakteren '' <<strData[position]
<< '' har fundet' << 'på stillingen' <<position<< ' n';
}

Vend tilbage 0;
}

Produktion:

Følgende output vises efter udførelse af ovenstående kode. Her er karakteren, ' + 'Af strengen,' K ++ 'Har fundet på stillingen, 7 af hovedstrengen, ' Grundlæggende C ++ programmering '.

Eksempel 3: Søg efter et bestemt tegn efter den særlige position

Opret en C ++ - fil med følgende kode for at søge efter et bestemt tegn efter den særlige position. En strengdata gemmes i strengvariablen, og en bestemt streng søges efter positionen, 13. Hvis der er fundet et tegn i søgestrengen i hovedstrengen, returneres en positionsværdi.

// Inkluder til udskrivning af output
#omfatte

intvigtigste()
{
// Initialiser en strengvariabel
timer::snorstrData= 'spise for at leve, ikke leve for at spise';
// Udskriv den originale streng
timer::koste << 'Den originale streng er:' +strData<< ' n';
// Udskriv den position, hvor det sidste tegn blev fundet
timer::koste<<'Det sidste matchende tegn fundet på positionen:'
<<strData.find_first_of('på',13) << ' n';
Vend tilbage 0;
}

Produktion:

Følgende output vises efter udførelse af ovenstående kode. Her er karakteren, ' til 'Af strengen,' 'Har fundet på stillingen, femten af hovedstrengen, ' spise for at leve, ikke leve for at spise '.

Eksempel 4: Søg efter placeringen af ​​det første matchende nummer

Opret en C ++ - fil med følgende kode for at søge i hvert nummer i den første vektorgruppe i den anden vektorgruppe og returnere placeringen af ​​det matchende nummer for den første vektorgruppe. Hvis der findes et matchende argument, returneres positionsværdien; ellers udskrives en besked.

// Inkluder til udskrivning af output
#omfatte
// Inkluder til søgning af data i vektoren
#omfatte
// Inkluder for brug af vektordata
#omfatte

intvigtigste()
{
// Deklarér to vektorliste
timer::vektorliste 1{10,5,65,31,7};
timer::vektorliste 2{2,77,5,38,32,55};
// Søg dataene fra liste1 i listen2
autoproduktion=timer::find_first_of(liste 1.begynde(), liste 1.ende(), liste 2.begynde(), liste 2.ende());
// Læs placeringen af ​​det matchende nummer
intposition=timer::afstand(liste 1.begynde(), output);

// Kontroller et vilkårligt antal liste1, der matcher et vilkårligt antal liste2
hvis (produktion<liste 1.ende()) {
timer::koste << 'Det første matchende nummer' <<liste 1[position] << 'fundet på position' <<position<< ' n';
}
andet {
timer::koste << 'Der blev ikke fundet noget matchende nummer. n';
}
}

Produktion:

Følgende output vises efter udførelse af ovenstående kode. Talværdien, 5 i det første array, findes i det andet array, og placeringen af ​​dette tal er 1.

Konklusion

Funktionen find_first_of () kan bruges til at søge efter et tegn eller tal til forskellige programmeringsformål. Denne funktion kan bruges til at løse de forskellige søgeopgaver. Jeg håber, at C ++ programmereren kan bruge denne funktion korrekt efter at have læst denne vejledning.