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,' på '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.