string functions c
U ovom uputstvu razgovarat ćemo o nekim popularnim funkcijama niza u C ++-u, kao što su podniz stringa, duljina niza, pronalazak niza, podijeljeni niz itd.:
C ++ ima klasu nizova koja se koristi za niz znakova koji je poznat i kao niz. Ovaj razred je std :: string . Ova klasa pohranjuje nizove kao slijed bajtova znakova i pruža funkcije koje nam omogućuju manipulaciju, pristup i čitanje nizova, kao i pristup pojedinačnim znakovima i manipulaciju njima.
koja je razlika između linuxa i unixa
=> Posjetite ovdje za cjeloviti tečaj stručnjaka za C ++.
Što ćete naučiti:
C ++ funkcije niza
C ++ niz je niz znakova. Kada definiramo nizove u jeziku C ++, koristimo niz
ključna riječ koja nije ništa drugo do klasa std :: string. Ova klasa nizova podržava razne funkcije od čitanja niza, manipulacije, pristupa nizu itd. Koje izvode različite operacije na objektima niza. Neke često korištene funkcije navedene su u nastavku -
Ne | String funkcije | Opis |
---|---|---|
jedan | getline | Dobiva liniju iz toka u niz |
dva | substr | Nabavite podniz zadanog niza |
4 | Duljina, strlen | Dohvatite duljinu niza |
5 | Pronaći | Pronađite sadržaj u nizu |
6 | Strtok, substr s graničnikom | Podijeljeni niz u žetonima |
getline C ++
Prototip funkcije: istream & getline (istream & is, string & str)
Parametar (i): je => istream objekt iz kojeg se izdvajaju znakovi.
str => String objekt koji se koristi za pohranu izdvojenog znaka.
Povratna vrijednost: Povratna vrijednost je ista kao i istream. Interno, izvršavanje getline-a postavlja određene unutarnje zastavice kako slijedi.
zastava | Opis pogreške |
---|---|
eofbit | Dosegnut je kraj izvora znakova |
failbit | Ulaz se ne može protumačiti kao valjani tekstualni prikaz objekta ove vrste |
badbit | Bilo koja druga pogreška osim gornje dvije |
Opis: getline je standardna funkcija knjižnice. Ova se funkcija koristi za čitanje retka ili niza iz standardnog ulaznog toka poput istreama. Redovi ili nizovi čitaju se sve dok se ne naiđe ' n' koji se smatra znakom razgraničenja.
Kao druga verzija verzije getline-a, može se navesti treći parametar 'char delim'. Ovo je znak za razdvajanje koji je izričito naveden. U ovoj će se funkciji čitati redak teksta ili niza sve dok se ne naiđe na navedeni znak za razdvajanje.
Dolje je dat jednostavan primjer koji pokazuje upotrebu getlinea.
Primjer:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Izlaz:
Unesite ulazni niz:
Vodiči za C ++
Upisali ste: Vodiči za C ++

U gornjem primjeru čitamo ulazni niz pomoću funkcije getline. Imajte na umu da se uneseni nizovi ili tekst čitaju u objektni niz mystr sve dok se ne naiđe n.
C ++ Podstr
Prototip funkcije: string substr (size_t startpos, size_t endpos)
Parametar (i): startpos => Početni položaj odakle se treba izdvojiti podniz.
endpos => Krajnji položaj podniza.
Povratna vrijednost: Vraća niz koji je podniz roditeljskog niza.
Opis: Ova funkcija vraća podniz datog niza. Funkcija uzima početni i krajnji položaj kao parametre, a zatim vraća slijed znakova između tih položaja.
Primjer:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Izlaz:
Ulazni niz: SoftwareTestingHelp
Podniz (0,8): Softver

Duljina C ++
Duljina niza je broj znakova prisutnih u nizu. Predstavljanje objekta std :: string nizova u C ++-u koristi funkcije length () za vraćanje duljine niza.
Osim toga, imamo i metodu veličine koja vraća veličinu niza. Za funkciju length () koristili smo metodu veličine u dolje prikazanom primjeru. Druga funkcija koja vraća duljinu niza je 'strlen'. Ova funkcija vraća duljinu niza označenog nizom znakova.
Obje funkcije vidjet ćemo jednu po jednu sa primjerima.
duljina ()
Prototip funkcije: duljina_t ()
Parametar (i): Pozvan nizom čija se duljina treba saznati.
Povratna vrijednost: Vraća parametar tipa size_t koji je duljina niza.
Opis: Ova funkcija pronalazi duljinu objekta niza kojim se poziva.
Primjer:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Izlaz:
Ulazni niz: SoftwareTestingHelp
Duljina niza (s metodom duljine) je: 19
Veličina niza (s metodom veličine) je: 19

U gore navedenom programu koristimo dužinu kao i funkcije veličine std :: string koji vraća duljinu i veličinu string objekta. Kako duljina i veličina vraćaju broj znakova u nizu, dobivamo isti izlaz.
strlen ()
Prototip funkcije: size_t strlen (const char * str);
Parametar (i): str => Pokazivač na niz koji se završava nulom čija se duljina treba saznati.
Povratna vrijednost: R eturns vrijednost size_t koja označava duljinu niza str.
Opis: funkcija strlen () vraća duljinu niza koji se završava nulom. Niz koji funkcija strlen uzima kao parametar je niz znakova s nulom.
Primjer:
#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; }
Izlaz:
Duljina mystr1 = 23
Duljina mystr2 = 25
mystr2 je duži od mystr1

U gore navedenom programu definirali smo dvije različite žice i njihovu pojedinačnu duljinu pronalazimo pomoću funkcije strlen. Zatim uspoređujemo duljinu dviju žica i utvrđujemo jesu li žice jednake ili nejednake.
Pronađi C ++
Prototip funkcije: pronađi veličinu (string mysub)
Parametar (i): mysub => String objekt koji treba pronaći unutar nadređenog niza.
koje su najbolje aplikacije za virtualnu stvarnost
Povratna vrijednost: size_t => Prvo mjesto podniza u nadređenom nizu
Opis: Funkcija pronalaska niza koristi se za pronalaženje položaja podniza u nadređenom nizu. Ovu funkciju poziva roditeljski niz i podniz čiji se položaj treba pronaći prosljeđuje se kao parametar. Ako podniz nije prisutan, vraća se prazno mjesto.
Primjer:
#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 '< Izlaz:
Prva pojava niza Test: 8
Prva pojava niza Pomoć: 15

Ovaj program definira niz kao 'SoftwareTestingHelp'. Korištenjem funkcije pronalaženja pronalazimo prvo pojavljivanje niza 'Test' u nadređenom nizu. Dalje, nalazimo pojavu niza 'Pomoć'. Izlaz je pozicija pojava pretraživanog niza.
besplatni sql softver za Windows 10
Split String
Dijeljenje niza pomoću graničnika ili tokena korisna je operacija. U C ++-u, budući da imamo više od jednog predstavljanja nizova, možemo koristiti različite pristupe cijepanju niza. Ovdje ćemo razgovarati o dva pristupa dijeljenju niza.
Razdvajanje std :: string objekta
Najjednostavniji pristup razdvajanju objekta niza je upotreba funkcije 'substr' na objektu i pružanje graničnika kao krajnjeg položaja kako bismo dobili podniz. Na taj način možemo podijeliti niz na graničnik dok ne pređemo cijeli niz.
Pogledajmo primjer u nastavku koji prvo pronalazi položaj graničnika pomoću funkcije 'pronađi', a zatim pronalazi podniz i na kraju izbacuje svaki od tokena.
#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; }
Izlaz:
Ovaj
je
softver
testiranje
Pomozite

Kao što je prikazano u gornjem programu, odredili smo graničnik koji će se koristiti za razdvajanje datog niza. U petlji više puta pronalazimo pojavu graničnika pomoću funkcije pronalaženja i prosljeđujemo je funkciji substr i dohvaćamo podniz. Tada se svaki od ovih dobivenih tokena prikazuje kao izlaz.
Dijeljenje niza znakova pomoću funkcije strtok
Drugi način tokeniziranja niza (dijeljenje niza pomoću razgraničnika) je pomoću funkcije 'strtok'. U nastavku ćemo razgovarati o specifičnostima funkcije 'strtok'.
Prototip funkcije: char * strtok (char str (), const char * delim)
Parametar (i): str () => Niz koji treba podijeliti.
Razgraničiti => Razdjelnik na kojem se niz dijeli.
Povratna vrijednost: Vraća sljedeći token nakon dijeljenja nadređenog niza.
Opis: Funkcija strtok dijeli zadani niz u tokene na datim graničnicima. Ovu funkciju treba pozvati u petlju kako bismo dobili sve tokene za zadani niz. Kad više ne ostane žetona, funkcija vraća nulu.
Primjer:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Izlaz:
Ovaj
je
softver
testiranje
Pomozite

Imajte na umu da u ovom programu koristimo funkciju strtok koja kao argumente uzima niz i graničnik. Zatim razdvaja niz u token, na temelju navedenog graničnika i prikazuje pojedinačne žetone.
Zaključak
U ovom smo uputstvu vidjeli neke općenito važne funkcije koje se koriste za C ++ nizove.
Razgovarali smo o funkcijama čitanja ulaznog niza, pronalaženja niza, podniza nadređenog niza, duljine niza, dijeljenja niza itd., Zajedno s njihovim varijacijama. Te nam funkcije pomažu u učinkovitom čitanju i manipulaciji nizovima.
U sljedećem uputstvu detaljno ćemo vidjeti neke od funkcija pretvorbe koje se koriste sa C ++ nizom.
=> Posjetite ovdje da biste pogledali cijelu seriju C ++ treninga za sve.
Preporučena literatura
- Python string funkcije
- Java string sa String Buffer-om i String Builder Tutorial
- Funkcije pretvorbe znakova C ++: char u int, char u niz
- VBScript niske funkcije: VBScript inStr, zamjena, sredina i obrezivanje
- Vodič za dijeljenje Python Stringa
- Vodič za niz stringa C # - Nizne metode s primjerima koda
- Python funkcije
- Niz niza C ++: Implementacija i predstavljanje s primjerima