A substr () függvény használata a C ++ nyelven

How Use Substr Function C



A karakterlánc bármely részének kivágásának módját alláncnak nevezzük. Az substr () függvény létezik a C ++ nyelvben, hogy új karakterláncot generáljon egy adott rész levágásával. Az húr.h A függvény használatához a könyvtárfájlt is tartalmaznia kell. Ennek a függvénynek két érve van. Az első argumentum az új karakterlánc kiindulási pozícióját, a második pedig a karakterlánc hosszát tartalmazza. Ebben az oktatóanyagban ismertetjük a substr () függvény használatát C ++ nyelven.

Előfeltétel

Az oktatóanyag példáinak ellenőrzése előtt ellenőrizze, hogy a g ++ fordító telepítve van -e a rendszerben. Ha Visual Studio Code -ot használ, akkor telepítse a szükséges bővítményeket a C ++ forráskód fordításához a végrehajtható kód létrehozásához. Itt a Visual Studio Code alkalmazást használtuk a C ++ kód összeállításához és végrehajtásához.







Szintaxis

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



Itt az első argumentum tartalmazza a kiindulási pozíciót, ahonnan az allánc elindul, a második argumentum pedig az allánc hosszát. A függvény visszaadja az alláncot, ha megadja az érvényes kezdőpozíciót és hosszúságot. Ennek a funkciónak a különböző felhasználási módjai az oktatóanyag következő részében láthatók.



1. példa: A substr () egyszerű használata

A következő példa az substr () függvény leggyakoribb és legegyszerűbb használatát mutatja be. Hozzon létre egy C ++ fájlt a következő kóddal, hogy egy karakterlánc értékből alkulcsot generáljon. Több szóból álló karakterlánc van hozzárendelve egy string változóhoz. Ezután az érvényes kiindulási pozíció és az allánc hossza szerepel az substr () függvény argumentum értékeiben. A kód végrehajtása után mind az eredeti karakterlánc, mind az allánc kinyomtatásra kerül.





// Tartalmazza a szükséges könyvtárakat
#befoglalni
#befoglalni


intfő-() {
// String változó definiálása
órák::húroriginalstr='Üdvözli a Linuxhint!';
// Vágja ki az alstringet az substr () használatával
órák::húrnewstr=originalstr.alstr (tizenegy,9);
// Az eredeti karakterlánc kinyomtatása
órák::költség <<'Az eredeti karakterlánc:' <<originalstr<< ' n';
// Az allánc nyomtatása
órák::költség <<'Az allánc:' <<newstr<< ' n';

Visszatérés 0;
}

Kimenet:

A kód szerint az eredeti karakterlánc „ Üdvözli a LinuxHint! ’. A 11 megadta az allánc kezdő pozícióját, amely az „L” karakter pozíciója, és a 9 megadta az allánc hosszának értékét. ' LinuxTipp ’Visszatér a substr () függvény kimeneteként a kód végrehajtása után.



2. példa: Substr () használata egy adott karakterlánc pozíciója alapján

A következő kód generálja az alláncot, miután megkereste az adott karakterlánc pozícióját. Hozzon létre egy C ++ fájlt a következő kóddal a kód teszteléséhez. A kódban a több szó karakterlánc -értéke van definiálva. Ezt követően egy adott karakterlánc pozícióját keresik a fő karakterláncban a find () függvény használatával. Az substr () függvénnyel generáltuk az alláncot a karakterlánc elejétől kezdve a find () függvény által visszaadott pozícióértékig.

// Tartalmazza a szükséges könyvtárakat
#befoglalni
#befoglalni
segítségével névtérórák;

intfő-()
{
órák::húrstrData= 'Szeretem a C ++ programozást';

// Keressük meg a '-' pozícióját az str.find () használatával
intpozíció=strData.megtalálja('programozás');

// Addig kapjuk meg az alláncot, amíg ez a minta meg nem jelenik
órák::húrnewstr=strData.alstr(0, pozíció);

órák::költség <<strData<< ' n';
órák::költség <<newstr<< ' n';

Visszatérés 0;
}

Kimenet:

A kód szerint a fő karakterlánc értéke: Szeretem a C ++ programozást és a keresési karakterlánc értéke: ' programozás' ami a fő karakterláncban létezik. Tehát a kimenet: Szeretem a C ++ -t 'A kód végrehajtása után.

3. példa: Substr () használata kivételkezeléssel

Az substr () függvényt kivételkezeléssel használtuk a következő kódban. A kivétel akkor jön létre, ha az érvénytelen kezdőpozíciót megadtuk az substr () függvényben. Hozzon létre egy C ++ fájlt a következő kóddal a kód teszteléséhez. A try blokkban egy szó karakterlánc -értéke van hozzárendelve, és érvénytelen kezdőpozíciót használtunk az substr () függvényben, amely kivételt eredményez és kinyomtatja a hibaüzenetet.

// Tartalmazza a szükséges könyvtárakat
#befoglalni
#befoglalni

intfő-() {
próbáld ki{

// String változó definiálása
órák::húroriginalstr='Linuxhint';
// Vágja ki az alstringet az substr () használatával
órák::húrnewstr=originalstr.alstr (tizenegy,9);
// Az allánc nyomtatása
órák::költség <<'Az allánc:' <<newstr<< ' n';
}
fogás (constórák::hatótávolságon kívül) {
órák::cerr << - A pozíció kívül esik a tartományon. n';
}
Visszatérés 0;
}

Kimenet:

A kód szerint a fő karakterlánc értéke: LinuxTipp és a kiindulási pozíció értéke 11, ami nem létezik. Tehát a kivétel létrejött, és a hibaüzenet kinyomtatásra került a kód végrehajtása után.

4. példa: A karakterlánc felosztásához használja az substr () parancsot

A következő példa az substr () függvény használatát mutatja be egy karakterlánc elválasztása alapján. A find () függvénnyel a határoló pozíciót kerestük, és az erase () függvénnyel eltávolítottuk az elválasztó karakterláncot a fő karakterláncból. A „while” ciklus megtalálta a határoló minden pozícióját a fő karakterláncban, és tárolta a felosztott értéket a vektor tömbben. Ezután kinyomtattuk a vektor tömb értékeit.

// Tartalmazza a szükséges könyvtárakat
#befoglalni
#befoglalni
#befoglalni

intfő-(){
// Határozza meg a karakterláncot
órák::húrstringData= 'PHP: C ++: Python:';
// Határozza meg az elválasztót
órák::húrszétválasztó= ':';
// A vektor változó deklarálása
órák::vektornyelveken{};
// Egész változó deklarálása
intpozíció;
// String változó deklarálása
órák::húrfelülmúlja;
/ *
Ossza fel a karakterláncot az substr () függvénnyel
és a felosztott szót hozzáadjuk a vektorhoz
* /

míg ((pozíció=stringData.megtalálja(szétválasztó)) !=órák::húr::npos) {
nyelveken.visszavet(stringData.alstr(0, pozíció));
stringData.törli(0, pozíció+szétválasztó.hossz());
}
// Az összes felosztott szó nyomtatása
számára (const auto &felülmúlja:nyelveken) {
órák::költség <<felülmúlja<<órák::endl;
}
Visszatérés 0;
}

Kimenet:

A kód szerint a fő karakterlánc értéke PHP: C ++: Python és a határoló értéke: ' : ' . A fenti parancsfájl végrehajtása után a következő kimenet jelenik meg.

Következtetés

Az substr () függvény használatának fő célja, hogy egy alláncot lekérjen egy karakterláncból a kezdő pozíció és az allánc hosszának említésével. Ennek a funkciónak a különböző felhasználási módjait ebben az oktatóanyagban ismertettük több példával, amelyek segítik az új C ++ felhasználókat a kód megfelelő használatában.