string functions c
I denne opplæringen vil vi diskutere noen av de populære strengfunksjonene i C ++ som getline-substring, strenglengde, strengfinne, delt streng osv .:
C ++ har en strengklasse som brukes til en sekvens av tegn som også er kjent som strenger. Denne klassen er std :: streng . Denne klassen lagrer strengene som en sekvens av tegnbyte og gir funksjoner som lar oss manipulere, få tilgang til og lese strengene, samt få tilgang til og manipulere enkelttegn.
selskaper som er involvert i internett av ting
=> Besøk her for hele C ++ kurset fra eksperter.
Hva du vil lære:
C ++ strengfunksjoner
C ++ streng er en sekvens av tegn. Når vi definerer strenger i C ++, bruker vi en streng
nøkkelord som ikke er annet enn std :: strengklasse. Denne strengklassen støtter forskjellige funksjoner fra å lese en streng, manipulere, få tilgang til en streng, etc. som utfører forskjellige operasjoner på strengobjekter. Noen ofte brukte funksjoner er oppført nedenfor -
Ikke | Strengfunksjoner | Beskrivelse |
---|---|---|
1 | getline | Får linjen fra strøm til streng |
to | substr | Få en delstreng av en gitt streng |
4 | Lengde, strlen | Få lengden på strengen |
5 | Finne | Finn innhold i streng |
6 | Strtok, substr med avgrenser | Del streng i tokens |
getline C ++
Funksjonsprototype: istream & getline (istream & is, string & str)
Parameter (er): is => istream-objekt som tegnene hentes fra.
str => Strengobjekt som brukes til å lagre utpakkede tegn.
Returverdi: Returverdien er den samme som istream er. Internt utfører kjøringen av getline visse interne flagg som følger.
flagg | Feilbeskrivelse |
---|---|
eofbit | Slutt på karakterkilden nådd |
failbit | Inndata kan ikke tolkes som en gyldig tekstlig fremstilling av objektet av denne typen |
badbit | Enhver annen feil unntatt de to ovennevnte |
Beskrivelse: getline er en standard biblioteksfunksjon. Denne funksjonen brukes til å lese en linje eller streng fra en standard inngangsstrøm som istream. Linjene eller strengene blir lest til “ n” som regnes som avgrensningskarakter.
Som en annen versjon av getline kan en tredje parameter 'char delim' spesifiseres. Dette er et skilletegn som er spesifisert spesifisert. I denne funksjonen vil en tekst- eller strenglinje bli lest til det angitte skilletegnet oppdages.
Nedenfor er et enkelt eksempel for å demonstrere bruken av getline.
Eksempel:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Produksjon:
Skriv inn inngangsstrengen:
C ++ opplæringsprogrammer
Du skrev inn: C ++ tutorials

I eksemplet ovenfor leser vi en inngangsstreng ved hjelp av getline-funksjonen. Vær oppmerksom på at strengene eller den oppgitte teksten blir lest inn i strengobjektet mystr til ‘ n’ oppstår.
C ++ Substr
Funksjonsprototype: streng substr (størrelse_t startpos, størrelse_t endpos)
Parameter (er): startpos => Startposisjon der substratet skal trekkes ut.
endpos => Endeposisjon av substring.
Returverdi: Returnerer en streng som er en delstreng av den overordnede strengen.
Beskrivelse: Denne funksjonen returnerer en delstreng av en gitt streng. Funksjonen tar start- og sluttposisjonene som parametere og returnerer deretter tegnrekkefølgen mellom disse posisjonene.
Eksempel:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Produksjon:
Inndatastreng: SoftwareTestingHelp
Understreng (0,8): Programvare

C ++ Lengde
Lengden på strengen er antall tegn som er til stede i strengen. Std :: strengobjektrepresentasjonen av strenger i C ++ bruker lengdefunksjonene () for å returnere lengden på strengen.
Bortsett fra dette har vi også en størrelsesmetode som returnerer størrelsen på strengen. Vi har brukt størrelsesmetoden i eksemplet vist nedenfor for lengdefunksjonen (). En annen funksjon som returnerer lengden på strengen er ‘strlen’. Denne funksjonen returnerer lengden på strengen som er angitt med et tegnmatrise.
Vi vil se begge funksjonene en etter en med eksempler.
lengde()
Funksjonsprototype: størrelse_t lengde ()
Parameter (er): Påkalt av strengen hvis lengde skal finne ut.
Returverdi: Returnerer en parameter parameter size_t som er lengden på strengen.
Beskrivelse: Denne funksjonen finner lengden på strengobjektet den blir påkalt.
Eksempel:
unix intervju spørsmål og svar for erfarne
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Produksjon:
Inndatastreng: SoftwareTestingHelp
Lengden på strengen (med lengdemetode) er: 19
Størrelsen på strengen (med størrelsesmetode) er: 19

I programmet ovenfor bruker vi både lengde- og størrelsesfunksjonene til std :: -strengen som returnerer henholdsvis lengden og størrelsen på strengobjektet. Når lengde og størrelse returnerer antall tegn i strengen, får vi samme utdata.
strlen ()
Funksjonsprototype: størrelse_t strlen (const char * str);
Parameter (er): str => Peker til en null-avsluttet streng hvis lengde skal finne ut.
Returverdi: R eturns størrelse_t verdi som angir lengden på strengstr.
Beskrivelse: strlen () -funksjonen returnerer lengden på den null-avsluttede strengen. Strengen som blir tatt som en parameter av strlen-funksjonen er en null-avsluttet tegnmatrise.
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; }
Produksjon:
Lengde på mystr1 = 23
Lengde på mystr2 = 25
mystr2 er lengre enn mystr1

I programmet ovenfor har vi definert to forskjellige strenger, og vi finner deres individuelle lengde ved hjelp av strlen-funksjonen. Deretter sammenligner vi lengden på de to strengene og avgjør om strengene er like eller ulike.
C ++ Finn
Funksjonsprototype: størrelse_t finn (streng mysub)
Parameter (er): mysub => Strengobjekt å finne i foreldrestrengen.
Returverdi: size_t => Første plassering av understrengen i foreldrestrengen
Beskrivelse: Funnfunksjonen til strengen brukes til å finne posisjonen til understrengen i den overordnede strengen. Denne funksjonen påkalles av den overordnede strengen, og en understreng hvis posisjon er å finne blir sendt som en parameter. Hvis underlaget ikke er tilstede, returneres en tom posisjon.
Eksempel:
god gratis mp3 nedlasting for android
#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 '< Produksjon:
Første forekomst av streng Test: 8
Første forekomst av strenghjelp: 15

Dette programmet definerer en streng som “SoftwareTestingHelp”. Ved å bruke søkefunksjonen finner vi den første forekomsten av strengen “Test” i foreldrestrengen. Deretter finner vi forekomsten av 'Hjelp' -strengen. Utgangen er posisjonen for forekomsten av den søkte strengen.
Split streng
Å dele en streng ved hjelp av en avgrenser eller et token er en nyttig operasjon. I C ++, ettersom vi har mer enn en representasjon av strenger, kan vi bruke forskjellige tilnærminger for å dele en streng. Her vil vi diskutere to tilnærminger for å dele en streng.
Splitting std :: streng Objekt
Den enkleste tilnærmingen for å dele et strengobjekt er å bruke ‘substr’ -funksjonen på objektet og gi avgrenseren som sluttposisjon slik at vi får substring. På denne måten kan vi dele strengen på avgrenseren til vi har krysset hele strengen.
La oss se eksemplet nedenfor som først finner posisjonen til avgrenseren ved hjelp av 'finn' -funksjonen, og deretter finner understrengen og til slutt sender ut hvert av 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; }
Produksjon:
Dette
er
programvare
testing
hjelp

Som vist i programmet ovenfor, spesifiserer vi en avgrenser som skal brukes til å dele den gitte strengen. I en sløyfe finner vi gjentatte ganger forekomsten av avgrenser ved hjelp av finn-funksjonen og overfører den til substr-funksjonen og henter substringen. Deretter vises hvert av disse oppnådde tokens som utdata.
Splitting Character Array ved hjelp av strtok-funksjon
En annen måte å tokenisere en streng (splitte streng ved hjelp av en avgrenser) er ved å bruke ‘strtok’-funksjonen. Vi vil diskutere detaljene i ‘strtok’-funksjonen nedenfor.
Funksjonsprototype: char * strtok (char str (), const char * delim)
Parameter (er): str () => Streng som skal deles.
Delim => Delimiter som strengen skal deles på.
Returverdi: Returnerer neste token etter å ha delt foreldrestrengen.
Beskrivelse: Strtok-funksjonen deler den gitte strengen i tokens på gitte avgrensere. Denne funksjonen må kalles i en løkke slik at vi får alle tokens for en gitt streng. Når det ikke er flere tokens igjen, returnerer funksjonen null.
Eksempel:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Produksjon:
Dette
er
programvare
testing
hjelp

Merk at i dette programmet bruker vi strtok-funksjonen som tar en streng og avgrenser som argumentene. Deretter deler den strengen i tokenet, basert på den angitte skillelinjen og viser de enkelte tokens.
Konklusjon
Vi har sett noen av de generelle viktige funksjonene som brukes til C ++ - strenger i denne opplæringen.
Vi diskuterte funksjonene for å lese en inngangsstreng, finne en streng, delstreng av foreldrestrengen, lengden på strengen, dele en streng osv. Sammen med deres variasjoner. Disse funksjonene hjelper oss å lese og manipulere strenger effektivt.
I vår neste opplæring vil vi se noen av konverteringsfunksjonene som brukes med C ++ -streng i detalj.
=> Besøk her for å se hele C ++ treningsserien for alle.
Anbefalt lesing
- Python-strengfunksjoner
- Java String with String Buffer and String Builder Tutorial
- C ++ tegnkonvertering Funksjoner: char til int, char til streng
- VBScript-strengfunksjoner: VBScript inStr, Erstatt, Midt og Trim-funksjoner
- Python String Split Tutorial
- C # String Tutorial - Strengmetoder med kodeeksempler
- Python-funksjoner
- String Array C ++: Implementering og representasjon med eksempler