Substr () -toiminnon käyttäminen C ++: ssa

How Use Substr Function C



Tapa leikata mitä tahansa osaa merkkijonosta kutsutaan alimerkkijonoksi. Substr () -funktio on C ++: ssa uuden merkkijonon luomiseksi leikkaamalla tietty osa merkkijonosta. The merkkijono. h Tämän toiminnon käyttäminen edellyttää kirjastotiedoston sisällyttämistä. Tällä funktiolla on kaksi argumenttia. Ensimmäinen argumentti sisältää uuden merkkijonon aloituskohdan ja toinen argumentti sisältää merkkijonon pituuden. Tässä opetusohjelmassa on selitetty tapa käyttää substr () -funktiota C ++: ssa.

Edellytys

Ennen kuin tarkistat tämän opetusohjelman esimerkit, sinun on tarkistettava, että g ++ -kääntäjä on asennettu tai ei järjestelmään. Jos käytät Visual Studio Codea, asenna tarvittavat laajennukset C ++ -lähdekoodin kääntämiseksi suoritettavan koodin luomiseksi. Tässä Visual Studio Code -sovellusta on käytetty C ++ -koodin kääntämiseen ja suorittamiseen.







Syntaksi

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



Tässä ensimmäinen argumentti sisältää aloituspaikan, josta alimerkkijono aloitetaan, ja toinen argumentti sisältää alimerkkijonon pituuden. Funktio palauttaa alimerkkijonon, jos kelvollinen aloituspaikka ja pituus on annettu. Tämän toiminnon eri käyttötarkoitukset on esitetty tämän opetusohjelman seuraavassa osassa.



Esimerkki 1: Substr (): n yksinkertainen käyttö

Seuraava esimerkki näyttää substr () -funktion yleisimmän ja yksinkertaisimman käytön. Luo C ++ -tiedosto seuraavalla koodilla ja luo merkkijonoarvosta alimerkkijono. Merkkijono, joka koostuu useista sanoista, on määritetty merkkijonomuuttujalle. Seuraavaksi kelvollisella aloitusasemalla ja alimerkkijonon pituudella on funktion substr () argumenttiarvot. Sekä alkuperäinen merkkijono että alimerkkijono tulostetaan koodin suorittamisen jälkeen.





// Sisällytä tarvittavat kirjastot
#sisältää
#sisältää


inttärkein() {
// Määritä merkkijonomuuttuja
tuntia::merkkijonoalkuperäinenstr='Tervetuloa Linuxhintiin';
// Leikkaa alimerkkijono käyttämällä substr ()
tuntia::merkkijononewstr=alkuperäinenstr.substr (yksitoista,9);
// Tulosta alkuperäinen merkkijono
tuntia::kustannus <<'Alkuperäinen merkkijono on:' <<alkuperäinenstr<< '' n'';
// Tulosta alimerkkijono
tuntia::kustannus <<'Alamerkki on:' <<newstr<< '' n'';

palata 0;
}

Lähtö:

Koodin mukaan alkuperäinen merkkijono on ' Tervetuloa LinuxHintiin ’. 11 on antanut alimerkkijonon alkukohdan, joka on L-merkin sijainti, ja 9 on antanut alimerkkijonon pituusarvon. ' LinuxVinkki ’On palannut substr () -funktion tulostukseksi koodin suorittamisen jälkeen.



Esimerkki 2: Substr (): n käyttäminen tietyn merkkijonon sijainnin perusteella

Seuraava koodi luo alimerkkijonon etsiessään kyseisen merkkijonon sijaintia. Luo C ++ -tiedosto seuraavalla koodilla testataksesi koodia. Useiden sanojen merkkijonoarvo on määritetty koodissa. Seuraavaksi tietyn merkkijonon sijaintia etsitään pääjonossa find () -toiminnon avulla. Substr () -funktiota on käytetty alijonon luomiseen merkkijonon alusta alkaen arvoon, jonka find () -funktio palauttaa.

// Sisällytä tarvittavat kirjastot
#sisältää
#sisältää
käyttämällä nimiavaruustuntia;

inttärkein()
{
tuntia::merkkijonostrData= 'Pidän C ++ -ohjelmoinnista';

// Etsitään '-' sijainti käyttämällä str.find ()
intasema=strData.löytö('ohjelmointi');

// Saamme alimerkkijonon tähän malliin asti
tuntia::merkkijononewstr=strData.substr(0, asema);

tuntia::kustannus <<strData<< '' n'';
tuntia::kustannus <<newstr<< '' n'';

palata 0;
}

Lähtö:

Koodin mukaan pääjonon arvo on, Pidän C ++ -ohjelmoinnista ja hakumerkkijonon arvo on ' ohjelmointi' joka on pääjonossa. Tulos on siis ' Pidän C ++: sta 'Koodin suorittamisen jälkeen.

Esimerkki 3: Substr (): n käyttö poikkeuskäsittelyllä

Substr () -funktiota on käytetty poikkeuskäsittelyssä seuraavassa koodissa. Poikkeus luodaan, jos substr () -funktiossa annetaan virheellinen aloituskohta. Luo C ++ -tiedosto seuraavalla koodilla testataksesi koodia. Kokeilulauseessa on määritetty yhden sanan merkkijonoarvo ja substr () -funktiossa on käytetty virheellistä aloituspaikkaa, joka nostaa poikkeuksen ja tulostaa virheilmoituksen.

// Sisällytä tarvittavat kirjastot
#sisältää
#sisältää

inttärkein() {
yrittää{

// Määritä merkkijonomuuttuja
tuntia::merkkijonoalkuperäinenstr='Linuxhint';
// Leikkaa alimerkkijono käyttämällä substr ()
tuntia::merkkijononewstr=alkuperäinenstr.substr (yksitoista,9);
// Tulosta alimerkkijono
tuntia::kustannus <<'Alamerkki on:' <<newstr<< '' n'';
}
saada kiinni (consttuntia::pois_alueesta) {
tuntia::cerr << 'Asema on alueen ulkopuolella. n'';
}
palata 0;
}

Lähtö:

Koodin mukaan pääjonon arvo on, LinuxVinkki ja lähtöaseman arvo on 11, jota ei ole. Poikkeus on siis luotu ja virheilmoitus on tulostettu koodin suorittamisen jälkeen.

Esimerkki 4: Substr (): n käyttäminen merkkijonon jakamiseen

Seuraava esimerkki näyttää substr () -funktion käytön merkkijonon jakamiseen erottimen perusteella. Find () -toimintoa on käytetty etsimään erotinpaikkaa, ja poista () -toimintoa käytetään poistamaan erotettu merkkijono, jossa on erotin pääjonosta. Samaan aikaan -silmukalla on löydetty kaikki erottimen paikat pääjonosta ja tallennettu jaettu arvo vektorimatriisiin. Seuraavaksi vektoritaulukon arvot on tulostettu.

// Sisällytä tarvittavat kirjastot
#sisältää
#sisältää
#sisältää

inttärkein(){
// Määritä merkkijono
tuntia::merkkijonostringData= 'PHP: C ++: Python:';
// Määritä erotin
tuntia::merkkijonoerotin= ':';
// Ilmoita vektorimuuttuja
tuntia::vektoriKieli (kielet{};
// Ilmoita kokonaislukumuuttuja
intasema;
// Ilmoita merkkijonomuuttuja
tuntia::merkkijonoylittää;
/ *
Jaa merkkijono substr () -funktiolla
ja jaetun sanan lisääminen vektoriin
* /

sillä aikaa ((asema=stringData.löytö(erotin)) !=tuntia::merkkijono::npos) {
Kieli (kielet.työnnä takaisin(stringData.substr(0, asema));
stringData.poistaa(0, asema+erotin.pituus());
}
// Tulosta kaikki jaetut sanat
varten (const auto &ylittää:Kieli (kielet) {
tuntia::kustannus <<ylittää<<tuntia::endl;
}
palata 0;
}

Lähtö:

Koodin mukaan päämerkkijonon arvo on PHP: C ++: Python ja erottimen arvo on ' : ’ . Seuraava tulos tulee näkyviin yllä olevan komentosarjan suorittamisen jälkeen.

Johtopäätös

Substr () -toiminnon käytön päätarkoitus on hakea alimerkkijono merkkijonosta mainitsemalla alimerkkijonon aloituspaikka ja pituus. Tämän oppaan eri käyttötarkoituksia on selitetty käyttämällä useita esimerkkejä, jotka auttavat uusia C ++ -käyttäjiä käyttämään sitä oikein koodissaan.