Hva er en streng?
En streng er en sekvens av tegn. En C ++ streng er et objekt av std :: strengklassen. Tegnene er lagrede sekvenser av byte med tilgang til en enkelt tegnbyte tillatt.
C ++ strenger tildeler minne dynamisk. Mer minne kan tildeles strengen i løpet av kjøretiden om nødvendig. Siden det ikke er forhåndsallokering av minne, ikke noe sløsing med minne. Vi kan utføre forskjellige operasjoner på strenger, inkludert sammenligninger, sammenkobling, konvertering, etc.
I denne C ++ opplæringen vil du lære:
- Hva er en streng?
- Deklarerende strenger
- C-stil karakterstreng
- std :: streng
- Tilgang til strengverdier
- Strengfunksjoner:
- strcpy ()
- strcat ()
- strlen ()
- strcmp ()
- Eksempel:
Deklarerende strenger
C ++ støtter to typer strengerklæringer:
- C-stil karakterstreng
- Strengklassetype
C-stil karakterstreng
Denne typen strengdeklarasjoner ble introdusert på C-programmeringsspråk. C ++ fortsetter å støtte det. Det er rett og slett et endimensjonalt utvalg av tegn avsluttet med et nulltegn (\ 0). En null-avsluttet streng har tegn som utgjør strengen, etterfulgt av en null.
Vurder strengerklæringen gitt nedenfor:
char name[5] = {'J', 'o', 'h', 'n', '\0'};
Ovennevnte erklæring skaper en streng som danner ordet John. Ordet har 4 tegn, men strengen har en størrelse på 5. Den ekstra plassen gir plass til nulltegnet.
Ved hjelp av arrayinitialiseringsregelen kan vi skrive utsagnet ovenfor som følger:
char name[] = "John";
Merk at du ikke trenger å plassere nulltegnet på slutten av strengkonstanten. C ++ - kompilatoren plasserer automatisk '\ 0' på strengens slutt når matrisen initialiseres.
std :: streng
Standard C ++ - biblioteket gir strengklassen som støtter forskjellige strengoperasjoner. Det er skrevet som std :: streng.
For å bruke denne klassen, må vi først inkludere den i arbeidsområdet vårt ved hjelp av #include preprosessor som vist nedenfor:
#include
Deretter kan vi erklære strengen ved hjelp av strengnøkkelordet. For eksempel:
string name = "John";
Ovennevnte uttalelse vil opprette en streng med navnet navn for å holde verdien John.
Tilgang til strengverdier
I C ++ kan vi få tilgang til strengverdiene ved hjelp av strengnavnet. For eksempel:
#includeusing namespace std;int main() {char name[5] = { 'J', 'o', 'h', 'n', '\0' };cout << "String value is: ";cout << name << endl;return 0;}
Produksjon:
Her er et skjermbilde av koden:
Kode Forklaring:
- Inkludert iostream header-fil i koden vår. Det vil tillate oss å lese fra og skrive til konsollen.
- Inkludert std navneområdet for å bruke klassene og funksjonene uten å ringe det.
- Å ringe til hovedfunksjonen () som logikken til programmet skal legges til i. {Markerer starten på kroppen til hovedfunksjonen ().
- Erklærer en streng med tegn og gir den navnet. Strengen vil lagre verdien John. Den ekstra plassen lagrer nulltegnet.
- Skriver ut litt tekst på konsollen.
- Skriver ut verdien av strengen med navnet på konsollen.
- Hovedfunksjonen () skal returnere en verdi hvis programmet går bra.
- Slutten av kroppen til hovedfunksjonen ().
Her er et annet eksempel som bruker C ++ standard strengklasse:
#include#include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}
Produksjon:
Her er et skjermbilde av koden:
Kode Forklaring:
- Inkludert iostream header-fil i koden vår. Det vil tillate oss å lese fra og skrive til konsollen.
- Inkludert standard strengklasse i koden vår.
- Inkludert std navneområdet for å bruke klassene og funksjonene uten å ringe det.
- Å ringe til hovedfunksjonen () som logikken til programmet skal legges til i. {Markerer starten på kroppen til hovedfunksjonen ().
- Erklære en streng og gi den navnet. Strengen lagrer verdien Guru99.
- Skriver ut verdien av strengnavnet sammen med litt tekst på konsollen.
- Hovedfunksjonen () skal returnere en verdi hvis programmet går bra.
- Slutten av kroppen til hovedfunksjonen ().
Strengfunksjoner:
Du vil ofte ønske å manipulere strenger. C ++ gir et bredt spekter av funksjoner som du kan bruke til dette. Disse funksjonene er definert i CString-klassen, derfor må vi inkludere den i koden vår for å kunne bruke funksjonene. La oss diskutere noen:
strcpy ()
Dette er strengkopieringsfunksjonen. Den kopierer en streng til en annen streng.
Syntaks:
strcpy(string1, string2);
De to parametrene til funksjonen, streng1 og streng2, er strenger. Funksjonen kopierer strengstrengen1 til strengen 1.
strcat ()
Dette er strengsammenkoblingsfunksjonen. Den sammenkobler strenger.
Syntaks:
strcat(string1, string2);
De to parametrene til funksjonen, streng1 og streng2 er strengene som skal sammenkobles. Ovennevnte funksjon vil sammenkoble strengstrengen2 til slutten av strengstrengen1.
strlen ()
Dette er strenglengdefunksjonen. Den returnerer lengden på strengen som er sendt til den som argumentet.
Syntaks:
strnlen(string1)
Parameterstrengen1 er navnet på strengen hvis lengde skal bestemmes. Ovennevnte funksjon vil returnere lengden på strengstrengen1.
strcmp ()
Dette er streng sammenligningsfunksjonen. Den brukes til sammenligning av strenger.
Syntaks:
strcmp(string1, string2);
Ovennevnte funksjon vil returnere 0 hvis strenger streng1 og streng2 er like, mindre enn 0 hvis streng1
Eksempel:
Følgende eksempel viser hvordan du bruker de ovennevnte strengfunksjonene:
#include#include using namespace std;int main() {char name1[10] = "Guru99";char name2[10] = "John";char name3[10];int len;strcpy(name3, name1);cout << "strcpy( name3, name1) : " << name3 << endl;strcat(name1, name2);cout << "strcat( name1, name2): " << name1 << endl;len = strlen(name1);cout << "strlen(name1) : " << len << endl;return 0;}
Produksjon:
Her er et skjermbilde av koden:
Kode Forklaring:
- Inkludert iostream header-fil i koden vår. Det vil tillate oss å lese fra og skrive til konsollen.
- Inkludert standard CString-klasse i koden vår.
- Inkludert std navneområdet for å bruke klassene og funksjonene uten å ringe det.
- Å ringe til hovedfunksjonen () som logikken til programmet skal legges til i. {Markerer starten på kroppen til hovedfunksjonen ().
- Erklærer en streng på 10 tegn og gir navnet navnet 1. Strengen lagrer verdien Guru99.
- Erklærer en streng på 10 tegn og gir navnet navnet2. Strengen vil lagre verdien John.
- Erklærer en streng på 10 tegn og gir navnet navnet 3.
- Erklærer en heltallvariabel som heter len.
- Kopiere strengnavn1 til strengnavn3.
- Skriver ut verdien av strengnavnet 1 sammen med litt tekst på konsollen. Det skal skrive ut Guru99.
- Sammenkoble strengene navn2 til slutten av strengnavn1. Verdien av navn1 er nå Guru99John.
- Skriver ut verdien av strengnavnet 1 sammen med litt tekst på konsollen. Det skal skrive ut Guru99John
- Bestemme lengden på strengen som heter name1 og tilordne verdien av lengde til variabel len.
- Skriver ut verdien av lenvariabelen sammen med annen tekst på konsollen.
- Hovedfunksjonen () skal returnere en verdi hvis programmet går bra.
- Slutten av kroppen til hovedfunksjonen ().
Sammendrag
- En streng er en sekvens av tegn.
- Strenger tilhører standard strengklasse i C ++.
- Vi kan erklære strenger ved hjelp av C-stil tegnstreng eller standard strengklasse.
- Strcpy () -funksjonen kopierer en streng til en annen.
- Strcat () -funksjonen sammenkobler to funksjoner.
- Funksjonen strlen () returnerer lengden på en funksjon.
- Strcmp () -funksjonen sammenligner to strenger.