Kā lietot funkciju substr () C ++

How Use Substr Function C



Veidu, kā izgriezt virknes daļu, sauc par apakšvirkni. Funkcija substr () pastāv C ++, lai ģenerētu jaunu virkni, izgriežot noteiktu virknes daļu. The virkne.h lai izmantotu šo funkciju, ir jāiekļauj bibliotēkas fails. Šai funkcijai ir divi argumenti. Pirmais arguments satur jaunās virknes sākuma pozīciju, bet otrais - virknes garumu. Funkcijas substr () izmantošanas veids C ++ ir izskaidrots šajā apmācībā.

Priekšnosacījums

Pirms šīs apmācības piemēru pārbaudes jums jāpārbauda, ​​vai g ++ kompilators ir instalēts sistēmā vai nav. Ja izmantojat Visual Studio kodu, tad instalējiet nepieciešamos paplašinājumus, lai apkopotu C ++ avota kodu, lai izveidotu izpildāmo kodu. Šeit C ++ koda apkopošanai un izpildei izmantota lietojumprogramma Visual Studio Code.







Sintakse

virkne apakšstruktūra (size_t pos = 0, size_t len ​​= npos) const;



Šeit pirmais arguments satur sākuma pozīciju, no kuras tiks sākta apakšvirkne, un otrais arguments satur apakšvirknes garumu. Funkcija atgriež apakšvirkni, ja ir norādīta derīga sākuma pozīcija un garums. Šīs apmācības dažādās daļas ir parādītas šīs apmācības nākamajā daļā.



1. piemērs: vienkārša apakšstruktūras () izmantošana

Šajā piemērā ir parādīta visizplatītākā un vienkāršākā funkcijas substr () izmantošana. Izveidojiet C ++ failu ar šādu kodu, lai no virknes vērtības ģenerētu apakšvirkni. Virkņu mainīgajā ir piešķirta vairāku vārdu virkne. Tālāk derīgajai sākuma pozīcijai un apakšvirknes garumam ir funkcijas substr () argumenta vērtības. Pēc koda izpildes tiks izdrukāta gan sākotnējā virkne, gan apakšvirkne.





// Iekļaut nepieciešamās bibliotēkas
#iekļaut
#iekļaut


intgalvenais() {
// Definēt virknes mainīgo
stundas::virkneoriginalstr='Laipni lūdzam Linuxhint';
// Izgrieziet apakšvirkni, izmantojot substr ()
stundas::virknenewstr=originalstr.apakšstr (vienpadsmit,9);
// Izdrukājiet oriģinālo virkni
stundas::izmaksas <<'Sākotnējā virkne ir šāda:' <<originalstr<< ' n';
// Izdrukājiet apakšvirkni
stundas::izmaksas <<'Apakšvirkne ir šāda:' <<newstr<< ' n';

atgriezties 0;
}

Izeja:

Saskaņā ar kodu sākotnējā virkne ir “ Laipni lūdzam LinuxHint ‘. 11 ir norādījis apakšvirknes sākuma pozīciju, kas ir rakstzīmes “L” pozīcija, un 9 ir norādījusi kā apakšvirknes garuma vērtību. ' Linux padoms “Pēc koda izpildes ir atgriezies kā funkcijas substr () izvade.



2. piemērs. Izmantojot apakšstruktūru (), pamatojoties uz konkrētas virknes pozīciju

Šis kods ģenerēs apakšvirkni pēc konkrētās virknes pozīcijas meklēšanas. Lai pārbaudītu kodu, izveidojiet C ++ failu ar šādu kodu. Kodā ir definēta vairāku vārdu virknes vērtība. Tālāk konkrētās virknes pozīcija tiek meklēta galvenajā virknē, izmantojot funkciju find (). Funkcija substr () ir izmantota, lai ģenerētu apakšvirzienu, sākot no virknes sākuma līdz pozīcijas vērtībai, kuru atgriezīs funkcija find ().

// Iekļaut nepieciešamās bibliotēkas
#iekļaut
#iekļaut
izmantojot vārda telpastundas;

intgalvenais()
{
stundas::virknestrData= 'Man patīk C ++ programmēšana';

// Atrodiet '-' pozīciju, izmantojot str.find ()
intpozīciju=strData.atrast('programmēšana');

// Mēs iegūsim apakšvirkni līdz šim modelim
stundas::virknenewstr=strData.apakšstr(0, pozīcija);

stundas::izmaksas <<strData<< ' n';
stundas::izmaksas <<newstr<< ' n';

atgriezties 0;
}

Izeja:

Saskaņā ar kodu galvenā virknes vērtība ir Man patīk C ++ programmēšana un meklēšanas virknes vērtība ir “ programmēšana ” kas pastāv galvenajā virknē. Tātad, rezultāts ir šāds: ' Man patīk C ++ 'Pēc koda izpildes.

3. piemērs: apakšstruktūras () izmantošana ar izņēmuma apstrādi

Funkcija substr () ir izmantota ar izņēmumu apstrādi šādā kodā. Izņēmums tiks ģenerēts, ja funkcijā substr () ir norādīta nederīga sākuma pozīcija. Lai pārbaudītu kodu, izveidojiet C ++ failu ar šādu kodu. Izmēģinājuma blokā ir piešķirta viena vārda virknes vērtība, un substr () funkcijā ir izmantota nederīga sākuma pozīcija, kas radīs izņēmumu un izdrukās kļūdas ziņojumu.

// Iekļaut nepieciešamās bibliotēkas
#iekļaut
#iekļaut

intgalvenais() {
pamēģini{

// Definēt virknes mainīgo
stundas::virkneoriginalstr='Linuxhint';
// Izgrieziet apakšvirkni, izmantojot substr ()
stundas::virknenewstr=originalstr.apakšstr (vienpadsmit,9);
// Izdrukājiet apakšvirkni
stundas::izmaksas <<'Apakšvirkne ir šāda:' <<newstr<< ' n';
}
noķert (konststundas::ārpus_ diapazona) {
stundas::cerr << 'Pozīcija ir ārpus diapazona. n';
}
atgriezties 0;
}

Izeja:

Saskaņā ar kodu galvenā virknes vērtība ir Linux padoms un sākuma pozīcijas vērtība ir 11, kas neeksistē. Tātad izņēmums ir ģenerēts, un kļūdas ziņojums ir izdrukāts pēc koda izpildes.

4. piemērs: virknes sadalīšanai izmantojiet apakšstruktūru ()

Šis piemērs parāda funkcijas substr () izmantošanu, lai sadalītu virkni, pamatojoties uz atdalītāju. Funkcija find () ir izmantota, lai meklētu norobežotāja pozīciju, un dzēšanas () funkcija tika izmantota, lai no galvenās virknes noņemtu sadalīto virkni ar norobežotāju. Cilne “while” ir izmantota, lai atrastu visas norobežotāja pozīcijas galvenajā virknē un saglabātu sadalīto vērtību vektoru masīvā. Tālāk ir izdrukātas vektoru masīva vērtības.

// Iekļaut nepieciešamās bibliotēkas
#iekļaut
#iekļaut
#iekļaut

intgalvenais(){
// Definējiet virkni
stundas::virknestringData= 'PHP: C ++: Python:';
// Definējiet atdalītāju
stundas::virkneatdalītājs= ':';
// Vektora mainīgā deklarēšana
stundas::vektorsvalodās{};
// Deklarēt veselu skaitļu mainīgo
intpozīciju;
// Deklarēt virknes mainīgo
stundas::virknepārsp;
/ *
Sadaliet virkni, izmantojot funkciju substr ()
un sadalītā vārda pievienošana vektoram
* /

kamēr ((pozīciju=stringData.atrast(atdalītājs)) !=stundas::virkne::npos) {
valodās.atgrūst(stringData.apakšstr(0, pozīcija));
stringData.dzēst(0, pozīcija+atdalītājs.garums());
}
// Izdrukājiet visus sadalītos vārdus
priekš (konst auto &pārsp:valodās) {
stundas::izmaksas <<pārsp<<stundas::endl;
}
atgriezties 0;
}

Izeja:

Saskaņā ar kodu galvenā virknes vērtība ir PHP: C ++: Python un norobežotāja vērtība ir: ' : ’ . Pēc iepriekš minētā skripta izpildes parādīsies šāda izvade.

Secinājums

Funkcijas substr () izmantošanas galvenais mērķis ir izgūt apakšvirkni no virknes, minot sākuma virkni un apakšvirknes garumu. Dažādi šīs funkcijas lietojumi ir izskaidroti šajā apmācībā, izmantojot vairākus piemērus, lai palīdzētu jaunajiem C ++ lietotājiem to pareizi izmantot savā kodā.