Hvad er en streng?
En streng er en sekvens af tegn. En C ++ streng er et objekt i std :: strengklassen. Tegnene er lagrede sekvenser af bytes med adgang til en enkelt tegnbyte tilladt.
C ++ strenge tildeler hukommelse dynamisk. Der kan tildeles mere hukommelse til strengen i løbet af kørselstiden, hvis det er nødvendigt. Da der ikke er nogen forhåndsallokering af hukommelse, ikke spild af hukommelse. Vi kan udføre forskellige operationer på strenge, herunder sammenligninger, sammenkædning, konvertering osv.
I denne C ++ tutorial lærer du:
- Hvad er en streng?
- Erklærende strenge
- C-Style karakterstreng
- std :: streng
- Adgang til strengværdier
- Strengfunktioner:
- strcpy ()
- strcat ()
- strlen ()
- strcmp ()
- Eksempel:
Erklærende strenge
C ++ understøtter to typer strengerklæringer:
- C-stil karakterstreng
- Strengklassetype
C-Style karakterstreng
Denne type strengerklæring blev introduceret på C-programmeringssprog. C ++ fortsætter med at støtte det. Det er simpelthen et endimensionelt array af tegn, der afsluttes med et null tegn (\ 0). En nultermineret streng har tegn, der udgør strengen, derefter efterfulgt af en nul.
Overvej strengerklæringen nedenfor:
char name[5] = {'J', 'o', 'h', 'n', '\0'};
Ovenstående erklæring skaber en streng, der danner ordet John. Ordet har 4 tegn, men strengen har en størrelse på 5. Den ekstra plads giver mulighed for at holde nultegnet.
Ved hjælp af array-initialiseringsreglen kan vi skrive ovenstående udsagn som følger:
char name[] = "John";
Bemærk, at du ikke behøver at placere null-tegnet i slutningen af strengkonstanten. C ++ - kompilatoren placerer automatisk '\ 0' i strengens slutning, når arrayet initialiseres.
std :: streng
Standard C ++ - biblioteket giver strengklassen, som understøtter forskellige strengoperationer. Det er skrevet som std :: streng.
For at bruge denne klasse skal vi først inkludere den i vores arbejdsområde ved hjælp af #include preprocessor som vist nedenfor:
#include
Dernæst kan vi erklære vores streng ved hjælp af streng nøgleordet. For eksempel:
string name = "John";
Ovenstående udsagn opretter en streng med navnet navn for at holde værdien John.
Adgang til strengværdier
I C ++ kan vi få adgang til strengværdierne ved hjælp af 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;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes. {Markerer starten på kroppen af hovedfunktionen ().
- Erklærer en streng af tegn og giver det navnet navn. Strengen gemmer værdien John. Den ekstra plads gemmer null-tegnet.
- Udskrivning af tekst på konsollen.
- Udskrivning af værdien af den streng, der hedder navnet på konsollen.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Her er et andet eksempel ved hjælp af C ++ - standardstrengklassen:
#include#include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Herunder standardstrengklassen i vores kode.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes. {Markerer starten på kroppen af hovedfunktionen ().
- Erklærer en streng og giver den navnet. Strengen gemmer værdien Guru99.
- Udskrivning af værdien af strengnavnet sammen med noget tekst på konsollen.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Strengfunktioner:
Du vil ofte gerne manipulere strenge. C ++ giver en bred vifte af funktioner, som du kan bruge til dette. Disse funktioner er defineret i klassen CString, derfor skal vi medtage den i vores kode for at kunne bruge funktionerne. Lad os diskutere nogle:
strcpy ()
Dette er strengkopieringsfunktionen. Den kopierer en streng til en anden streng.
Syntaks:
strcpy(string1, string2);
De to parametre til funktionen, streng1 og streng2, er strenge. Funktionen kopierer strengstreng1 til streng 1.
strcat ()
Dette er strengkonkurrenceringsfunktionen. Det sammenkæder strenge.
Syntaks:
strcat(string1, string2);
De to parametre til funktionen, streng1 og streng2 er de strenge, der skal sammenkædes. Ovenstående funktion sammenkæder strengstrengen2 til slutningen af strengstrengen1.
strlen ()
Dette er strenglængdefunktionen. Den returnerer længden af den streng, der er sendt til den som argumentet.
Syntaks:
strnlen(string1)
Parameterstreng1 er navnet på den streng, hvis længde skal bestemmes. Ovenstående funktion returnerer længden af strengstrengen1.
strcmp ()
Dette er streng sammenligningsfunktionen. Det bruges til strengesammenligning.
Syntaks:
strcmp(string1, string2);
Ovenstående funktion returnerer 0, hvis strenge streng1 og streng2 er ens, mindre end 0, hvis streng1
Eksempel:
Følgende eksempel viser, hvordan man bruger ovenstående strengfunktioner:
#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;}
Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Herunder iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
- Herunder standard CString-klassen i vores kode.
- Inkluderet std navneområdet for at bruge dets klasser og funktioner uden at kalde det.
- Ringer til hovedfunktionen () inden for hvilken programmets logik skal tilføjes. {Markerer starten på kroppen af hovedfunktionen ().
- Erklærer en streng på 10 tegn og giver den navnet navn1. Strengen gemmer værdien Guru99.
- Erklærer en streng på 10 tegn og giver navnet navnet2. Strengen gemmer værdien John.
- Erklærer en streng på 10 tegn og giver navnet navnet3.
- Erklærer en heltalsvariabel med navnet len.
- Kopiering af strengnavn1 til strengnavn3.
- Udskrivning af værdien af strengnavnet 1 sammen med noget tekst på konsollen. Det skal udskrive Guru99.
- Sammenkædning af strengene navn2 til slutningen af strengnavn1. Værdien af navn1 er nu Guru99John.
- Udskrivning af værdien af strengnavnet 1 sammen med noget tekst på konsollen. Det skulle udskrive Guru99John
- Bestemmelse af længden af strengen ved navn name1 og tildeling af længden til variabel len.
- Udskrivning af værdien af variabel len sammen med en anden tekst på konsollen.
- Hovedfunktionen () skal returnere en værdi, hvis programmet fungerer fint.
- Slutningen af hovedfunktionens () krop.
Resumé
- En streng er en sekvens af tegn.
- Strenge tilhører standardstrengklassen i C ++.
- Vi kan erklære strenge ved hjælp af C-stil tegnstreng eller standard strengklasse.
- Funktionen strcpy () kopierer en streng til en anden.
- Funktionen strcat () sammenkæder to funktioner.
- Funktionen strlen () returnerer længden af en funktion.
- Funktionen strcmp () sammenligner to strenge.