Sådan bruges substr () -funktionen i C ++

How Use Substr Function C



Måden at skære en del fra en streng kaldes en understreng. Substra () -funktionen findes i C ++ for at generere en ny streng ved at skære en bestemt del fra en streng. Det streng.h biblioteksfil skal inkluderes for at bruge denne funktion. Denne funktion har to argumenter. Det første argument indeholder startpositionen for den nye streng, og det andet argument indeholder strengens længde. Måden at bruge funktionen substr () 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.







Syntaks

strengsubstrat (size_t pos = 0, size_t len ​​= npos) const;



Her indeholder det første argument startpositionen, hvorfra understrengen startes, og det andet argument indeholder længden af ​​understrengen. Funktionen returnerer understrengen, hvis den gyldige startposition og længde er angivet. De forskellige anvendelser af denne funktion er vist i den næste del af denne vejledning.



Eksempel 1: Enkel anvendelse af substr ()

Følgende eksempel viser den mest almindelige og enkle brug af substra () -funktionen. Opret en C ++ - fil med følgende kode for at generere en understreng ud fra en strengværdi. En streng med flere ord er blevet tildelt en strengvariabel. Dernæst har den gyldige startposition og længden af ​​understrengen i argumentværdierne for funktionen substr (). Både den originale streng og delstrengen udskrives, når koden er udført.





// Inkluder nødvendige biblioteker
#omfatte
#omfatte


intvigtigste() {
// Definer en strengvariabel
timer::snororiginalstr='Velkommen til Linuxhint';
// Klip understrengen ved hjælp af substr ()
timer::snornewstr=originalstr.substr (elleve,9);
// Udskriv den originale streng
timer::koste <<'Den originale streng er:' <<originalstr<< ' n';
// Udskriv understrengen
timer::koste <<'Delstrengen er:' <<newstr<< ' n';

Vend tilbage 0;
}

Produktion:

Ifølge koden er den originale streng ' Velkommen til LinuxHint '. 11 har givet som startpositionen for understrengen, der er positionen for 'L'-tegnet, og 9 har givet som længdeværdien af ​​understrengen. ' LinuxHint 'Er vendt tilbage som output fra substr () -funktionen efter udførelse af koden.



Eksempel 2: Brug af substr () baseret på placeringen af ​​en bestemt streng

Den følgende kode genererer understrengen efter at have søgt i den særlige strengs position. Opret en C ++ - fil med følgende kode for at teste koden. En strengværdi for de flere ord er defineret i koden. Derefter søges placeringen af ​​en bestemt streng i hovedstrengen ved hjælp af funktionen find (). Substra () -funktionen er blevet brugt til at generere understrengen fra begyndelsen af ​​strengen til den positionsværdi, der vil blive returneret af funktionen find ().

// Inkluder nødvendige biblioteker
#omfatte
#omfatte
ved brug af navnerumtimer;

intvigtigste()
{
timer::snorstrData= 'Jeg kan godt lide C ++ programmering';

// Lad os finde placeringen af ​​'-' ved hjælp af str.find ()
intposition=strData.Find('programmering');

// Vi får substringen indtil dette mønster
timer::snornewstr=strData.substr(0, position);

timer::koste <<strData<< ' n';
timer::koste <<newstr<< ' n';

Vend tilbage 0;
}

Produktion:

Ifølge koden er hovedstrengværdien, Jeg kan godt lide C ++ programmering og værdien af ​​søgestrengen er, ' programmering ’ der findes i hovedstrengen. Så output er, ' Jeg kan godt lide C ++ 'Efter udførelse af koden.

Eksempel 3: Brug af substr () med undtagelseshåndtering

Substra () -funktionen er blevet brugt med undtagelseshåndtering i følgende kode. Undtagelsen genereres, hvis den ugyldige startposition er angivet i substr () -funktionen. Opret en C ++ - fil med følgende kode for at teste koden. I forsøgsblokken er der tildelt en strengværdi på ét ord, og der er brugt en ugyldig startposition i substr () -funktionen, der frembringer en undtagelse og udskriver fejlmeddelelsen.

// Inkluder nødvendige biblioteker
#omfatte
#omfatte

intvigtigste() {
prøve{

// Definer en strengvariabel
timer::snororiginalstr='Linuxhint';
// Klip understrengen ved hjælp af substr ()
timer::snornewstr=originalstr.substr (elleve,9);
// Udskriv understrengen
timer::koste <<'Delstrengen er:' <<newstr<< ' n';
}
fangst (konsttimer::uden for rækkevidde) {
timer::cerr << 'Stillingen er uden for rækkevidde. n';
}
Vend tilbage 0;
}

Produktion:

Ifølge koden er hovedstrengværdien, LinuxHint og startpositionens værdi er 11, der ikke findes. Så undtagelsen er genereret, og fejlmeddelelsen er blevet udskrevet efter udførelse af koden.

Eksempel 4: Brug af substr () til at dele strengen

Følgende eksempel viser brugen af ​​substra () funktionen til at opdele en streng baseret på en afgrænser. Find () -funktionen er blevet brugt til at søge i afgrænsningspositionen, og slette () -funktionen er blevet brugt til at fjerne den opdelte streng med afgrænseren fra hovedstrengen. 'While' -sløjfen har brugt til at finde alle positioner for afgrænseren i hovedstrengen og gemme den opdelte værdi i vektorarrayet. Dernæst er værdierne for vektorarrayet blevet udskrevet.

// Inkluder nødvendige biblioteker
#omfatte
#omfatte
#omfatte

intvigtigste(){
// Definer strengen
timer::snorstringData= 'PHP: C ++: Python:';
// Definer separatoren
timer::snorseparator= ':';
// Deklarér vektorvariablen
timer::vektorSprog{};
// Deklarer heltalsvariabel
intposition;
// Deklarere strengvariabel
timer::snoroutstr;
/ *
Opdel strengen ved hjælp af funktionen substr ()
og tilføjelse af det opdelte ord i vektoren
* /

mens ((position=stringData.Find(separator)) !=timer::snor::npos) {
Sprog.skub tilbage(stringData.substr(0, position));
stringData.slette(0, position+separator.længde());
}
// Udskriv alle splittede ord
til (konst auto &outstr:Sprog) {
timer::koste <<outstr<<timer::endl;
}
Vend tilbage 0;
}

Produktion:

Ifølge koden er hovedstrengværdien PHP: C ++: Python og værdien af ​​afgrænseren er, ' : ' . Følgende output vises efter udførelse af ovenstående script.

Konklusion

Hovedformålet med at bruge funktionen substr () er at hente en delstreng fra en streng ved at nævne startpositionen og længden af ​​understrengen. De forskellige anvendelser af denne funktion er blevet forklaret i denne vejledning ved at bruge flere eksempler til at hjælpe de nye C ++ - brugere med at bruge den korrekt i deres kode.