string functions c
I denne vejledning diskuterer vi nogle af de populære strengfunktioner i C ++ såsom getline-substring, strenglængde, strengfinding, splitstreng osv .:
C ++ har en strengklasse, der bruges til en række tegn, der også er kendt som strenge. Denne klasse er std :: streng . Denne klasse gemmer strengene som en sekvens af tegnbyte og giver funktioner, der giver os mulighed for at manipulere, få adgang til og læse strengene samt få adgang til og manipulere enkelte tegn.
hvordan man kører en torrentfil
=> Besøg her for det komplette C ++ kursus fra eksperter.
Hvad du lærer:
C ++ strengfunktioner
C ++ streng er en række af tegn. Når vi definerer strenge i C ++, bruger vi en streng
nøgleord, der ikke er andet end std :: strengklasse. Denne strengklasse understøtter forskellige funktioner fra at læse en streng, manipulere, få adgang til en streng osv., Der udfører forskellige operationer på strengobjekter. Nogle ofte anvendte funktioner er angivet nedenfor -
Ingen | Strengfunktioner | Beskrivelse |
---|---|---|
en | getline | Får linjen fra stream til string |
to | substr | Få en substring af en given streng |
4 | Længde, strlen | Få længden af strengen |
5 | Find | Find indhold i streng |
6 | Strtok, substrat med afgrænser | Opdel streng i tokens |
getline C ++
Funktionsprototype: istream & getline (istream & is, string & str)
Parameter (er): is => istream-objekt, hvorfra tegnene udvindes.
str => Strengobjekt, der bruges til at gemme uddraget tegn.
Returværdi: Returneringsværdien er den samme som istream er. Internt indstiller udførelsen af getline visse interne flag som følger.
flag | Fejlbeskrivelse |
---|---|
eofbit | Slutningen af karakterkilden nået |
failbit | Input kan ikke fortolkes som en gyldig tekstlig repræsentation af objektet af denne type |
badbit | Enhver anden fejl undtagen ovenstående to |
Beskrivelse: getline er en standard biblioteksfunktion. Denne funktion bruges til at læse en linje eller streng fra en standard inputstrøm som istream. Linjerne eller strengene læses, indtil ' n', der betragtes som afgrænsningskarakter, opstår.
Som en anden version af getline kan der angives en tredje parameter 'char delim'. Dette er et afgrænsningstegn, der er angivet eksplicit. I denne funktion læses en tekst- eller strenglinje, indtil den angivne afgrænsningstegn opstår.
Nedenfor er et simpelt eksempel for at demonstrere brugen af getline.
Eksempel:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Produktion:
Indtast inputstrengen:
C ++ tutorials
Du indtastede: C ++ tutorials

I ovenstående eksempel læser vi en inputstreng ved hjælp af getline-funktionen. Bemærk, at de indtastede strenge eller tekst læses i strengobjekt mystr, indtil ' n' er stødt.
C ++ Substr
Funktionsprototype: streng substr (størrelse_t startpos, størrelse_t slutpos)
Parameter (er): startpos => Startposition, hvorfra substratet skal ekstraheres.
endpos => Slutposition for substring.
Returværdi: Returnerer en streng, der er en understreng af den overordnede streng.
Beskrivelse: Denne funktion returnerer en delstreng af en given streng. Funktionen tager start- og slutpositioner som parametre og returnerer derefter rækkefølgen af karakter mellem disse positioner.
Eksempel:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Produktion:
Inputstreng: SoftwareTestingHelp
Understreng (0,8): Software

C ++ længde
Strengens længde er antallet af tegn, der findes i strengen. Std :: strengobjektrepræsentation af strenge i C ++ bruger funktionerne længde () til at returnere længden af strengen.
Bortset fra dette har vi også en størrelsesmetode, der returnerer størrelsen på strengen. Vi har brugt størrelsesmetoden i eksemplet vist nedenfor for funktionen længde (). En anden funktion, der returnerer længden af strengen, er 'strlen'. Denne funktion returnerer længden af strengen angivet med et tegnarray.
Vi vil se begge funktionerne en efter en med eksempler.
længde ()
Funktionsprototype: størrelse_t længde ()
Parameter (er): Påkrævet af strengen, hvis længde skal findes.
Returværdi: Returnerer en parameter parameter size_t, som er længden af strengen.
Beskrivelse: Denne funktion finder længden af strengobjektet, hvormed det påberåbes.
Eksempel:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Produktion:
Inputstreng: SoftwareTestingHelp
Strengens længde (med længdemetoden) er: 19
Størrelsen på strengen (med størrelsesmetoden) er: 19

I ovenstående program bruger vi både længde- og størrelsesfunktionerne for std :: -strengen, der returnerer henholdsvis længde og størrelse på strengobjektet. Når længde og størrelse returnerer antallet af tegn i strengen, får vi den samme output.
strlen ()
Funktionsprototype: størrelse_t strlen (const char * str);
Parameter (er): str => Markør til en null-afsluttet streng, hvis længde skal findes.
Returværdi: R eturns størrelse_t værdi, der angiver længden af strengstr.
Beskrivelse: strlen () -funktionen returnerer længden af den null-afsluttede streng. Strengen, der tages som en parameter af strlen-funktionen, er et null-termineret tegnarray.
Eksempel:
#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; }
Produktion:
Længde på mystr1 = 23
Længde på mystr2 = 25
mystr2 er længere end mystr1

I ovenstående program har vi defineret to forskellige strenge, og vi finder deres individuelle længde ved hjælp af strlen-funktionen. Derefter sammenligner vi længden af de to strenge og bestemmer, om strengene er ens eller ulige.
C ++ Find
Funktionsprototype: størrelse_t find (streng mysub)
Parameter (er): mysub => Strengobjekt, der skal findes inden i den overordnede streng.
Returværdi: size_t => Substringens første position i den overordnede streng
c ++ dobbeltkoblet listeimplementering
Beskrivelse: Strengens find-funktion bruges til at finde substringens position i den overordnede streng. Denne funktion påberåbes af den overordnede streng, og en understreng, hvis position skal findes, sendes som en parameter. Hvis underlaget ikke er til stede, returneres en tom position.
Eksempel:
#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 '< Produktion:
Første forekomst af streng Test: 8
Første forekomst af strenghjælp: 15

Dette program definerer en streng som “SoftwareTestingHelp”. Ved hjælp af find-funktionen finder vi den første forekomst af strengen 'Test' i den overordnede streng. Dernæst finder vi forekomsten af 'Hjælp' -strengen. Outputtet er placeringen af forekomsten af den søgte streng.
Split streng
Opdeling af en streng ved hjælp af en afgrænser eller et token er en nyttig operation. Da vi har mere end en gengivelse af strenge i C ++, kan vi bruge forskellige tilgange til opdeling af en streng. Her vil vi diskutere to tilgange til opdeling af en streng.
Opdeling std :: streng Objekt
Den nemmeste metode til at opdele et strengobjekt er at bruge 'substr' -funktionen på objektet og give afgrænsningen som slutposition, så vi får substringen. På denne måde kan vi dele strengen på skillelinjen, indtil vi har krydset hele strengen.
navnet på operativsystemet i computeren
Lad os se eksemplet nedenfor, der først finder placeringen af afgrænseren ved hjælp af 'find' -funktionen og derefter finder understrengen og til sidst outputter hvert af tokens.
#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; }
Produktion:
Det her
er
software
testning
Hjælp

Som vist i ovenstående program specificerer vi en afgrænser, der skal bruges til at opdele den givne streng. I en løkke finder vi gentagne gange forekomsten af afgrænser ved hjælp af find-funktionen og sender den til substr-funktionen og henter substringen. Derefter vises hver af disse opnåede tokens som output.
Opdeling af tegnarray ved hjælp af strtok-funktion
En anden måde at tokenisere en streng på (opdele streng ved hjælp af en afgrænser) er at bruge funktionen 'strtok'. Vi vil diskutere detaljerne i 'strtok'-funktionen nedenfor.
Funktionsprototype: char * strtok (char str (), con char char * afgrænsning)
Parameter (er): str () => Streng, der skal deles.
Afgrænsning => Afgrænser, som strengen skal deles på.
Returværdi: Returnerer det næste token efter opdeling af den overordnede streng.
Beskrivelse: Strtok-funktionen opdeler den givne streng i tokens på givne afgrænsere. Denne funktion skal kaldes i en løkke, så vi får alle tokens til en given streng. Når der ikke er flere tokens tilbage, returnerer funktionen null.
Eksempel:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Produktion:
Det her
er
software
testning
Hjælp

Bemærk, at vi i dette program bruger strtok-funktionen, der tager en streng og afgrænsning som argumenter. Derefter opdeles strengen i tokenet baseret på den angivne afgrænser og viser de enkelte tokens.
Konklusion
Vi har set nogle af de generelle vigtige funktioner, der bruges til C ++ - strenge i denne vejledning.
Vi diskuterede funktionerne til at læse en inputstreng, finde en streng, substring af den overordnede streng, længden af strengen, opdeling af en streng osv. Sammen med deres variationer. Disse funktioner hjælper os med at læse og manipulere strenge effektivt.
I vores næste vejledning vil vi se nogle af de konverteringsfunktioner, der bruges med C ++ - streng i detaljer.
=> Besøg her for at se hele C ++ træningsserien for alle.
Anbefalet læsning
- Python-strengfunktioner
- Java String med String Buffer og String Builder Tutorial
- C ++ tegnkonvertering Funktioner: char til int, char til streng
- VBScript-strengfunktioner: VBScript inStr, Replace, Mid og Trim-funktioner
- Python String Split Tutorial
- C # String Tutorial - Strengmetoder med kodeeksempler
- Python-funktioner
- String Array C ++: Implementering & repræsentation med eksempler