Slik bruker du substr () -funksjonen i C ++

How Use Substr Function C



Måten å kutte en hvilken som helst del fra en streng kalles en delstreng. Substra () -funksjonen finnes i C ++ for å generere en ny streng ved å kutte en bestemt del fra en streng. De streng.h biblioteksfil må være inkludert for å bruke denne funksjonen. Denne funksjonen har to argumenter. Det første argumentet inneholder startposisjonen til den nye strengen, og det andre argumentet inneholder strengens lengde. Måten du bruker substr () -funksjonen 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.







Syntaks

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



Her inneholder det første argumentet startposisjonen hvorfra delstrengen skal startes, og det andre argumentet inneholder lengden på delstrengen. Funksjonen returnerer delstrengen hvis den gyldige startposisjonen og lengden er angitt. De forskjellige bruksområdene til denne funksjonen har vist i neste del av denne opplæringen.



Eksempel 1: Enkel bruk av substr ()

Følgende eksempel viser den mest vanlige og enkle bruken av substra () -funksjonen. Opprett en C ++ - fil med følgende kode for å generere en delstreng fra en strengverdi. En streng med flere ord er tilordnet en strengvariabel. Deretter har den gyldige startposisjonen og lengden på delstrengen i argumentverdiene til substra () -funksjonen. Både den originale strengen og delstrengen skrives ut etter at koden er utført.





// Inkluder nødvendige biblioteker
#inkludere
#inkludere


inthoved-() {
// Definer en strengvariabel
timer::strengoriginalstr='Velkommen til Linuxhint';
// Klipp delstrengen med substr ()
timer::strengnewstr=originalstr.substr (elleve,9);
// Skriv ut den originale strengen
timer::koste <<'Den originale strengen er:' <<originalstr<< ' n';
// Skriv ut delstrengen
timer::koste <<'Delstrengen er:' <<newstr<< ' n';

komme tilbake 0;
}

Produksjon:

I henhold til koden er den originale strengen ' Velkommen til LinuxHint '. 11 har gitt som startposisjonen til delstrengen som er posisjonen til 'L' -tegnet, og 9 har gitt som lengdeverdien til delstrengen. ' LinuxHint 'Har returnert som utdata fra substra () -funksjonen etter at koden er utført.



Eksempel 2: Bruke substr () basert på posisjonen til en bestemt streng

Følgende kode vil generere delstrengen etter å ha søkt etter posisjonen til den aktuelle strengen. Lag en C ++ - fil med følgende kode for å teste koden. En strengverdi for flere ord er definert i koden. Deretter søkes posisjonen til en bestemt streng i hovedstrengen ved hjelp av funksjonen find (). Substra () -funksjonen har blitt brukt til å generere delstrengen fra begynnelsen av strengen til posisjonsverdien som vil bli returnert av funksjonen find ().

// Inkluder nødvendige biblioteker
#inkludere
#inkludere
ved hjelp av navneområdetimer;

inthoved-()
{
timer::strengstrData= 'Jeg liker C ++ - programmering';

// La oss finne posisjonen til '-' ved å bruke str.find ()
intposisjon=strData.finne('programmering');

// Vi får delstrengen til dette mønsteret
timer::strengnewstr=strData.substr(0, posisjon);

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

komme tilbake 0;
}

Produksjon:

I henhold til koden er hovedstrengverdien, Jeg liker C ++ programmering og verdien av søkestrengen er, ‘ programmering ' som finnes i hovedstrengen. Så utgangen er, ' Jeg liker C ++ 'Etter å ha utført koden.

Eksempel 3: Bruke substr () med unntakshåndtering

Substra () -funksjonen har blitt brukt med unntakshåndtering i følgende kode. Unntaket vil bli generert hvis den ugyldige startposisjonen er gitt i substra () -funksjonen. Lag en C ++ - fil med følgende kode for å teste koden. I prøveblokken har en strengverdi på ett ord blitt tildelt, og en ugyldig startposisjon har blitt brukt i substra () -funksjonen som vil oppheve et unntak og skrive ut feilmeldingen.

// Inkluder nødvendige biblioteker
#inkludere
#inkludere

inthoved-() {
prøve{

// Definer en strengvariabel
timer::strengoriginalstr='Linuxhint';
// Klipp delstrengen med substr ()
timer::strengnewstr=originalstr.substr (elleve,9);
// Skriv ut delstrengen
timer::koste <<'Delstrengen er:' <<newstr<< ' n';
}
å fange (konsttimer::ute av rekkevidde) {
timer::cerr << 'Posisjonen er utenfor rekkevidde. n';
}
komme tilbake 0;
}

Produksjon:

I henhold til koden er hovedstrengverdien, LinuxHint og startposisjonens verdi er 11 som ikke eksisterer. Så unntaket er generert, og feilmeldingen er skrevet ut etter at koden er utført.

Eksempel 4: Bruk substr () til å dele strengen

Følgende eksempel viser bruken av substr () -funksjonen for å dele en streng basert på en skilletegn. Find () -funksjonen har blitt brukt til å søke i avgrensningsposisjonen, og slette () -funksjonen har blitt brukt til å fjerne den delte strengen med skilletegnet fra hovedstrengen. 'While' -løkken har brukt til å finne alle posisjonene til skilletegnet i hovedstrengen og lagre den delte verdien i vektormatrisen. Deretter er verdiene til vektormatrisen skrevet ut.

// Inkluder nødvendige biblioteker
#inkludere
#inkludere
#inkludere

inthoved-(){
// Definer strengen
timer::strengstringData= 'PHP: C ++: Python:';
// Definer skilletegnet
timer::strengseparator= ':';
// Deklarer vektorvariabelen
timer::vektorspråk{};
// Deklarer heltallsvariabel
intposisjon;
// Deklarere strengvariabel
timer::strengoutstr;
/ *
Del strengen ved hjelp av substr () -funksjonen
og legge til det splittede ordet i vektoren
* /

samtidig som ((posisjon=stringData.finne(separator)) !=timer::streng::npos) {
språk.push_back(stringData.substr(0, posisjon));
stringData.viske ut(0, posisjon+separator.lengde());
}
// Skriv ut alle splittede ord
til (konst auto &outstr:språk) {
timer::koste <<outstr<<timer::endl;
}
komme tilbake 0;
}

Produksjon:

I henhold til koden er hovedstrengverdien PHP: C ++: Python og verdien av skilletegnet er, ‘ : ' . Følgende utdata vises etter at skriptet ovenfor er utført.

Konklusjon

Hovedformålet med å bruke substra () -funksjonen er å hente en delstreng fra en streng ved å nevne startposisjonen og lengden på delstrengen. De forskjellige bruksområdene til denne funksjonen er blitt forklart i denne opplæringen ved å bruke flere eksempler for å hjelpe de nye C ++ - brukerne til å bruke den riktig i koden.