string functions c
V tomto výučbe budeme diskutovať o niektorých populárnych funkciách reťazcov v C ++, ako sú getline podreťazec, dĺžka reťazca, hľadanie reťazca, rozdelený reťazec atď .:
C ++ má triedu reťazcov, ktorá sa používa pre postupnosť znakov, ktorá je tiež známa ako reťazce. Táto trieda je std :: reťazec . Táto trieda ukladá reťazce ako postupnosť bajtov znakov a poskytuje funkcie, ktoré nám umožňujú manipulovať s reťazcami, pristupovať k nim a čítať ich, ako aj pristupovať k jednotlivým znakom a manipulovať s nimi.
ako otestovať webovú stránku
=> Navštívte tu kompletný kurz C ++ od odborníkov.
Čo sa dozviete:
C ++ reťazcové funkcie
Reťazec C ++ je postupnosť znakov. Keď definujeme reťazce v C ++, použijeme reťazec
kľúčové slovo, ktoré nie je nič iné ako trieda std :: string. Táto trieda reťazcov podporuje rôzne funkcie od čítania reťazca, manipulácie, prístupu k reťazcu atď., Ktoré vykonávajú rôzne operácie s objektmi reťazca. Niektoré často používané funkcie sú uvedené nižšie -
Nie | Funkcie reťazca | Popis |
---|---|---|
1 | getline | Získava riadok od streamu po reťazec |
dva | substr | Získajte podreťazec daného reťazca |
4 | Dĺžka, strlen | Získajte dĺžku reťazca |
5 | Nájsť | Nájdite obsah v reťazci |
6 | Strtok, substr s oddeľovačom | Rozdeliť reťazec na tokeny |
getline C ++
Funkčný prototyp: istream & getline (istream & je, reťazec & str)
Parametre: is => istream objekt, z ktorého sú znaky extrahované.
str => Reťazcový objekt, ktorý sa používa na uloženie extrahovaného znaku.
Návratová hodnota: Návratová hodnota je rovnaká ako istream. Interne vykonávanie getline nastavuje určité interné príznaky nasledovne.
vlajka | Popis chyby |
---|---|
eofbit | Bol dosiahnutý koniec zdroja znakov |
failbit | Vstup nie je možné interpretovať ako platné textové znázornenie objektu tohto typu |
badbit | Akákoľvek iná chyba okrem vyššie uvedených dvoch |
Popis: getline je štandardná knižničná funkcia. Táto funkcia sa používa na načítanie riadku alebo reťazca zo štandardného vstupného toku, ako je istream. Riadky alebo reťazce sa čítajú, kým sa nenájde znak „ n“, ktorý sa považuje za delimitačný znak.
Ako inú verziu getline je možné určiť tretí parameter „char delim“. Toto je výslovne uvedený oddeľovač. V tejto funkcii sa bude čítať riadok textu alebo reťazca, kým sa nestretne so zadaným oddeľovačom.
Ďalej je uvedený jednoduchý príklad na demonštráciu použitia getline.
Príklad:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Výkon:
Zadajte vstupný reťazec:
C ++ výukové programy
Zadali ste: výukové programy C ++

Vo vyššie uvedenom príklade čítame vstupný reťazec pomocou funkcie getline. Upozorňujeme, že zadané reťazce alebo text sa načítajú do reťazcového objektu mystr, kým nenarazíte na „ n“.
C ++ Substr
Funkčný prototyp: string substr (size_t startpos, size_t endpos)
Parametre: startpos => Počiatočná pozícia, z ktorej sa má extrahovať podreťazec.
endpos => Koncová pozícia podreťazca.
Návratová hodnota: Vráti reťazec, ktorý je podreťazcom nadradeného reťazca.
Popis: Táto funkcia vráti podreťazec daného reťazca. Funkcia vezme začiatočnú a koncovú pozíciu ako parametre a potom vráti postupnosť znakov medzi týmito pozíciami.
Príklad:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Výkon:
Vstupný reťazec: SoftwareTestingHelp
Podreťazec (0,8): Softvér

Dĺžka C ++
Dĺžka reťazca je počet znakov v reťazci. Objektová reprezentácia reťazcov std :: string v C ++ používa funkcie length () na vrátenie dĺžky reťazca.
Okrem toho máme aj metódu veľkosti, ktorá vracia veľkosť reťazca. Pre funkciu length () sme použili metódu size v príklade zobrazenom nižšie. Ďalšou funkciou, ktorá vracia dĺžku reťazca, je ‘strlen’. Táto funkcia vracia dĺžku reťazca označenú znakovým poľom.
ktorú z nasledujúcich operácií nebolo možné použiť na ukazovatele
Obidve funkcie uvidíme jednu po druhej s príkladmi.
dĺžka ()
Funkčný prototyp: size_t dĺžka ()
Parametre: Vyvolané reťazcom, ktorého dĺžka sa má zistiť.
Návratová hodnota: Vráti parameter typu size_t, ktorý predstavuje dĺžku reťazca.
Popis: Táto funkcia zistí dĺžku reťazcového objektu, o ktorú je vyvolaná.
Príklad:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Výkon:
Vstupný reťazec: SoftwareTestingHelp
Dĺžka šnúrky (s dĺžkovou metódou) je: 19
Veľkosť šnúrky (s metódou veľkosti) je: 19

Vo vyššie uvedenom programe používame funkciu dĺžky a veľkosti std :: string, ktorá vracia dĺžku a veľkosť objektu reťazca. Keď dĺžka a veľkosť vráti počet znakov v reťazci, dostaneme rovnaký výstup.
strlen ()
Funkčný prototyp: size_t strlen (const char * str);
Parametre: str => Ukazovateľ na reťazec zakončený nulou, ktorého dĺžka sa má zistiť.
Návratová hodnota: R hodnota eturns size_t označujúca dĺžku reťazca str.
Popis: funkcia strlen () vracia dĺžku reťazca zakončeného nulou. Reťazec, ktorý funkcia strlen berie ako parameter, je pole znakov s nulovou koncovkou.
Príklad:
#include #include using namespace std; int main() { char mystr1() = 'This a our first string'; char mystr2() = 'This is our second string'; int len_mystr1 = strlen(mystr1); int len_mystr2 = strlen(mystr2); cout << 'Length of mystr1 = ' << len_mystr1 << endl; cout << 'Length of mystr2 = ' << len_mystr2 << endl; if (len_mystr1> len_mystr2) cout << 'mystr1 is longer than mystr2'; else if (len_mystr1 < len_mystr2) cout << 'mystr2 is longer than mystr1'; else cout << 'mystr1 and mystr2 are equal in length'; return 0; }
Výkon:
Dĺžka mystr1 = 23
Dĺžka mystr2 = 25
mystr2 je dlhší ako mystr1

Vo vyššie uvedenom programe sme definovali dva rôzne reťazce a ich individuálnu dĺžku nájdeme pomocou funkcie strlen. Potom porovnáme dĺžku dvoch reťazcov a určíme, či sú rovnaké alebo nerovnaké.
C ++ nájsť
Funkčný prototyp: size_t find (string mysub)
Parametre: mysub => Reťazcový objekt, ktorý sa nachádza vo vnútri nadradeného reťazca.
Návratová hodnota: size_t => Prvá pozícia podreťazca v nadradenom reťazci
Popis: Funkcia find reťazca sa používa na vyhľadanie polohy podreťazca v nadradenom reťazci. Túto funkciu vyvoláva nadradený reťazec a ako parameter sa odovzdáva podreťazec, ktorého poloha sa má nájsť. Ak podreťazec nie je prítomný, vráti sa prázdna pozícia.
Príklad:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = 'Test'; size_t pos = mystr.find(mysub); if (pos != string::npos) cout << 'First occurrence of string '< Výkon:
Prvý výskyt reťazca Test: 8
Prvý výskyt reťazca Pomoc: 15

Tento program definuje reťazec ako „SoftwareTestingHelp“. Pomocou funkcie find nájdeme prvý výskyt reťazca „Test“ v nadradenom reťazci. Ďalej nájdeme výskyt reťazca „Pomoc“. Výstupom je poloha výskytu hľadaného reťazca.
Split String
Rozdelenie reťazca pomocou oddeľovača alebo tokenu je užitočná operácia. Pretože v C ++ máme viac ako jednu reprezentáciu reťazcov, môžeme na rozdelenie reťazca použiť rôzne prístupy. Tu si rozoberieme dva prístupy k rozdeleniu reťazca.
Rozdelenie objektu std :: string
Najjednoduchší prístup na rozdelenie reťazcového objektu je použitie funkcie ‘substr’ na objekte a poskytnutie oddeľovača ako koncovej polohy, aby sme získali podreťazec. Týmto spôsobom môžeme reťazec rozdeliť na oddeľovač, kým neprekonáme celý reťazec.
Pozrime sa na príklad nižšie, ktorý najskôr vyhľadá pozíciu oddeľovača pomocou funkcie „find“, potom nájde podreťazec a nakoniec vydá každý z tokenov.
#include #include using namespace std; int main() { string mystr = 'This_is_software_testing_help'; string delimiter = '_'; size_t pos = 0; string token; while ((pos = mystr.find(delimiter)) != std::string::npos) { token = mystr.substr(0, pos); cout << token << endl; mystr.erase(0, pos + delimiter.length()); } cout << mystr<< endl; }
Výkon:
Toto
je
softvér
testovanie
Pomoc

Ako je uvedené vo vyššie uvedenom programe, zadáme oddeľovač, ktorý sa použije na rozdelenie daného reťazca. V slučke opakovane nájdeme výskyt oddeľovača pomocou funkcie find a odovzdáme ho funkcii substr a načítame podreťazec. Potom sa každý z týchto získaných tokenov zobrazí ako výstup.
Rozdelenie znakových polí pomocou funkcie strtok
Ďalším spôsobom, ako tokenizovať reťazec (rozdelenie reťazca pomocou oddeľovača), je použitie funkcie ‘strtok’. Ďalej si rozoberieme špecifiká funkcie ‘strtok’.
Funkčný prototyp: char * strtok (char str (), const char * delim)
Parametre: str () => Reťazec, ktorý sa má rozdeliť.
softvér na stiahnutie času pre zamestnancov zdarma
Delim => Oddeľovač, na ktorom sa má reťazec rozdeliť.
Návratová hodnota: Vráti nasledujúci token po rozdelení rodičovského reťazca.
Popis: Funkcia strtok rozdelí daný reťazec na tokeny na daných oddeľovačoch. Túto funkciu je potrebné volať v slučke, aby sme dostali všetky tokeny pre daný reťazec. Ak už žiadne ďalšie tokeny nezostanú, funkcia vráti hodnotu null.
Príklad:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Výkon:
Toto
je
softvér
testovanie
Pomoc

Upozorňujeme, že v tomto programe používame funkciu strtok, ktorá ako argument berie reťazec a oddeľovač. Potom rozdelí reťazec na token na základe zadaného oddeľovača a zobrazí jednotlivé tokeny.
Záver
V tejto príručke sme videli niektoré všeobecne dôležité funkcie používané pre reťazce C ++.
Diskutovali sme o funkciách na čítanie vstupného reťazca, hľadanie reťazca, podreťazca nadradeného reťazca, dĺžky reťazca, rozdelenia reťazca atď., Spolu s ich variáciami. Tieto funkcie nám pomáhajú efektívne čítať a manipulovať s reťazcami.
V našom ďalšom návode si podrobne pozrieme niektoré z konverzných funkcií používaných s reťazcom C ++.
=> Navštívte tu a pozrite si celú sériu školení pre C ++ pre všetkých.
Odporúčané čítanie
- Funkcie reťazca Python
- Výukový program Java String s programom String Buffer a String Builder
- Funkcie konverzie znakov C ++: char to int, char to string
- Funkcie reťazca VBScript: VBScript funkcie inStr, Replace, Mid a Trim
- Výukový program pre rozdelenie reťazcov Python
- C # String Tutorial - Metódy reťazcov s príkladmi kódu
- Pythonove funkcie
- String Array C ++: Implementácia a znázornenie s príkladmi