C ++ strengfunksjon

C ++ strengfunksjon
En streng er klassifisert som en type data og er vanligvis representert som en rekke byte- eller karakterdatastrukturer som er ment å registrere flere elementer, vanligvis tegn. Konseptuelt er det identisk med C -språkets karakteristikk. Skjønt, i C ++, er det en spesifikk klasse med flere nyttige attributter og metoder som muliggjør større og mer omfattende håndtering av strengdatastrukturen som er mulig med karaktermatriser. Dynamisk minnetildeling brukes til strenger. Dette innebærer at du blir spart for å måtte initialisere objektet ditt med en forhåndsbestemt størrelse som du ikke kan endre i løpet av hele koden.

For å bruke strengfunksjoner i C ++, må vi først inkludere biblioteket som inneholder strengfunksjoner. Strengobjektet er i stand til en rekke atferd og flere handlinger. En rekke strengfunksjoner; inkludert strcat, strlen, strcmp, strcpy, swap og mange flere er levert av "strengen.H ”bibliotek i C++.

Metoder brukt i strengfunksjoner

I C ++ Følgende strengfunksjoner brukes for å gjøre det mulig for deg å få ønsket utførelse.

strcpy (var1, var2);
Det er funksjonen som brukes til å kopiere en streng av variabelen til en annen streng. Med andre ord, vi kan si at var1 Verdien vil bli tildelt var2.

strcat (var1, var2);
Strcat er ansvarlig for å slå sammen to variabler. For eksempel, hvis var1 inneholder verdien Min og var2 inneholder artikkel deretter den resulterende verdien av STRCAT (var1, var2); vil være Myarticle.

strlen (var1);
Denne funksjonen brukes til å telle ordene til strengen som sendes til den. Som et resultat vil det returnere lengden på strengen.

strcmp (var1, var2);
STRCMP brukes til å sammenligne to strenger og vil returnere en verdi 0 Hvis strengen var1 og var2 er det samme; returnerer mindre enn 0 er var1 er større enn var2 og vil komme tilbake større enn 0 er den var1 er mindre enn var2.

Strchr (var1, r);
Strchr brukes til å søke etter ethvert tegn i en streng. I ovennevnte initialisering brukte vi en funksjon Strchr. Hvis vi vil søke etter tegnet i en streng, var1 er variabelen som inneholder en streng Artikkelen min. I denne strengen ønsker vi å søke etter et tegn r den returnerer en peker når brevet r vil forekomme først.

STRSTR (var1, var2);
Det brukes til å søke etter en streng i en annen streng, i STRSTR (var1, var2); Vi passerte to strenger som heter var1 og var2 der var1 skal hentes ut av var2 Så snart vi får ønsket streng, blir pekeren returnert.

Eksempel 1: Bruke metoder for strengfunksjoner

La oss se på første omgang.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
char var1 [12] = "min";
char var2 [12] = "Artikkel";
char var3 [12];
int lengde;
strcpy (var3, var1);
cout <<"strcpy( var3, var1) : "<< var3 << endl;
strcat (var1, var2);
cout <<"strcat( var1, var2): "<< var1 << endl;
lengde = strlen (var1);
cout <<"strlen(var1) : "<< length << endl;
retur 0;

Vi inkluderer først overskriftsfilen #inkludere som er et bibliotek med de forhåndsdefinerte metodene cin og cout som er ansatt for inngangs- og utgangsanlegg i C++. Etter det definerte vi vår strengoverskriftsfil som lar oss bruke innebygde strengfunksjoner som strcpy, strstr, strcat, etc.

Deretter brukte vi ved hjelp av navneområdet STD; toppfil som brukes fordi vi ikke kan ha variabler, funksjoner osv. med samme navn i programmering. Vi ansetter derfor navnefelt For å forhindre disse konfliktene.

Nærmer seg hovedfunksjonen vår som er int main (), int er heltallstypen som vil være returtypen til en kode. Operativsystemet som utfører koden vår kaller hovedfunksjonen. Et enkelt program kan inneholde et ubegrenset antall funksjoner, men det kan bare inneholde en hovedfunksjon.

Etter å ha gjort det, initialiserte vi strengvariablene våre var1 av matrisestørrelse 12, var2 med matrisestørrelse 12 og var3 av matrisestørrelse 12, hvor var1 er tilordnet med strengverdi Min og var2 er tildelt med artikkel. Vi tildelte ingen verdi til var3 fordi vi vil bruke den til å kopiere vår var1 inn i var3. Vår fjerde variabel har et datatype -heltall som heter lengde som vi vil bruke for å beregne lengden på den resulterende strengen.

strcpy (var3, var1); I dette tildeler vi var3 verdien av var1 som er Min og viser den deretter ved hjelp av cout uttalelse som er ansvarlig for å vise innholdet som en utgang. Deretter brukte vi funksjonen strcat som brukes til å sammenkoble to forskjellige strenger i en. Som vist på linje 17, sammenkoblet vi to strenger som heter var1 og var2 For å gjøre dem til en streng.

Nå er vårt neste trinn å beregne lengden på hele sammenkoblet streng. Vi tildelte Strlen Funksjon til heltallsvariabelen vår lengde og passerte strengvariabelen til den som vi vil beregne. Deretter vises det ved hjelp av vår cout uttalelse.

Typer strengfunksjon

C ++ programmeringsspråket bruker vanligvis to typer strenger:

Type 1: C String (C-Style String)
C-strenger er et endimensjonalt utvalg av tegn som er lukket med nullkarakteren 0. Som et resultat inneholder en streng som ender med en null, tegnene som komponerer en streng.

Metoder for initialisering av C String
For initialisering av røyestrengen artikkelen min Vi vil bruke to metoder. Karakteroppstillingen som holder strengen, må være ett tegn større enn ordene artikkelen min for å imøtekomme nullkarakteren på slutten av matrisen.

Metode 1

# char var [12] = 'm', 'y', 'a', 'r', 't', 'i', 'c', 'l', 'e', ​​'\ 0;

I dette initialiserte vi en variabel som heter var med datatypen røye som brukes til å representere karakterens datatype. Vi tildelte en strengverdi til variabelen var Det er "M, Y, A, R, T, I, C, L, E, \ 0". I denne "\ 0" brukes til å representere nullverdien som lar kompilatoren avslutte strengen.

Eksempel 2: Tildel en streng til en variabel ved hjelp av metode 1

Sjekk ut andre forekomst av denne artikkelen.

#inkludere
ved hjelp av navneområdet STD;
int main ()
char myvar1 [12] = 'm', 'y', ", 'a', 'r', 't', 'i', 'c', 'l', 'e', ​​'\ 0' ;
cout <<"message: ";
cout << myvar1 << endl;
retur 0;

I dette eksemplet skal vi tilordne og vise strengen vår ved hjelp av metode 1, etter å ha inkludert overskriftsfilen vår iostream som lar oss bruke det cin og cout operasjoner for å vise eller få data fra brukeren. Vi beveger oss mot hovedfunksjonen vår der all utførelse skal utføres.

Vi definerte en variabel navngiving MyVar1 som inneholder en rekke datatype -tegn som er artikkelen min. Deretter viste vi strengverdien vår ved hjelp av cout uttalelse. Vi tildelte en karakterutvalg av størrelse 12 til vår variabel og ga den til vår cout funksjon. Den resulterende utgangen er:

Metode 2

# char var = “min artikkel”;

I koden ovenfor initialiserte vi en annen variabel var som også inneholder strengverdien artikkelen min. Dette artikkelen min er direkte tilordnet var Bruke inverterte komma i stedet for å tilordne alfabetene hver for seg.

Eksempel 3: Tildel en streng til en variabel ved hjelp av metode 2

I det følgende eksemplet vil vi tilordne en strengverdi til variabelen vår MyVar1:

#inkludere
ved hjelp av navneområdet STD;
int main ()
char myvar1 [12] = “Min artikkel”;
cout <<"message: ";
cout << myvar1 << endl;
retur 0;

Vi opprettet en variabel kalt MyVar1 som lagrer en rekke karakterdatatyper, eller artikkelen min. Deretter bruker du cout Uttalelse, vi skrev ut strengverdien vår. Da vi ga en karakterutvalg av størrelse 12 til vår cout funksjon, utgangen var som følger:

Type 2: Strengklasseobjekter som er strenger (strengklasse for standard C ++ bibliotek)

En C ++ -streng er en forekomst av klassestrengen, som finnes i standard navneområdet og definert i overskriftsfilen . For å bygge et strengobjekt kan en av de mange konstruktørene som er tilgjengelige i strengklassen også påberopes (eksplisitt eller implisitt). Strenger har den ekstra enorme fordelen ved å bruke dynamisk minnetildeling over karaktermatriser, som fremdeles kan brukes i C++.

Syntaks

# String var = “Min artikkel”;

I dette har vi en strengvariabel som heter var som inneholder verdien artikkelen min. Følgende er metoden for å erklære eller initialisere strengen som består av ordene artikkelen min. Karakteroppstillingen som holder strengen, må være ett tegn større enn ordene artikkelen min for å imøtekomme nullkarakteren på slutten av matrisen.

Eksempel 4: Bruke strengfunksjon

Her er et annet viktig eksempel på denne guiden:

#inkludere
ved hjelp av navneområdet STD;
int main ()
char myvar1 [50];
cout <<"Enter a string: ";
cin.få (myvar1, 50);
cout <<"You entered: "<< myvar1 << endl;
retur 0;

Vi begynner med å inkludere overskriftsfilen #inkludere, som er et bibliotek som bruker standardmetodene CIN og COUT for C ++s inngangs- og utgangsanlegg. Etter det definerte vi vår strengoverskriftsfil, slik at vi kan bruke innebygde strengmetoder som Strcpy, Strstr, Strcat, etc.

Går videre til hovedfunksjonen vår, int main (), Hvor Int er typen heltall som skal brukes som en returverdi for en kode. Hovedfunksjonen kalles av OS som kjører koden vår. Det er ingen grense for antall funksjoner som ett program kan ha, men det kan bare være en hovedfunksjon.

En variabel kalt Myvar ble opprettet, med en strengdatatype. De cout Uttalelsen ble deretter brukt til å vise Skriv inn en streng: tekst slik at brukeren vil få at han må legge inn strengen etter eget valg. Etter å ha gjort det, brukte vi getline funksjon. En streng eller linje kan leses fra en inngangsstrøm ved hjelp av standard bibliotekfunksjon getLine () i C++. Det tilhører strenghodet. Mens du gjør dette, vil inngangsstrengen, om noen, erstatte verdien som tidligere ble lagret i strengobjektet Myvar. Følgende brukerinngang av en streng Artikkelen min vil vises ved hjelp av cout Uttalelse.

Eksempel 5: Passeringsstreng

Her er det siste eksemplet på denne guiden.

#inkludere
ved hjelp av navneområdet STD;
void charshow (char *);
void Stringshow (streng);
int main ()
String myvar1;
char myvar2 [50];
cout <<"Enter a string: ";
getline (cin, myvar1);
cout <<"Enter another string: ";
cin.få (myvar2, 50, '\ n');
Stringshow (Myvar1);
Charshow (MyVar2);
retur 0;

void charshow (char strn [])
cout <<"Entered char array is: "<< strn << endl;

void Stringshow (String strn)
cout <<"Entered string is: "<< strn << endl;

I dette eksemplet vil vi bruke begge metodene for å passere strengtegn ved å bruke karaktermatriser samt strengmetoder i ett program. Vi starter med å inkludere overskriftsfilen #inkludere . Vi benyttet oss av ved hjelp av navneområdet STD;.

I overskriftsfilene våre definerte vi to funksjoner som navngir Charshow () som vil være ansvarlig for å vise strengen som vi vil få fra brukeren ved å bruke en karaktergruppe og den andre Stringshow () som vil vise strengen, som vi får fra brukeren ved hjelp av en strengmetode.

Inne MyVar1 som vil bli tildelt verdier ved hjelp av strengmetoden og den andre MyVar2 vil bli tildelt karaktertype ved hjelp av en fast rekke 50 størrelse. Brukere må legge inn to strenger. Disse holdes i variablene MyVar1 og MyVar2, hvor MyVar2 er en char -matrise og MyVar1 er henholdsvis et strengobjekt.

Strengen vises deretter ved hjelp av to prosedyrer kalt Charshow () og Stringshow (). Parameteren er det eneste skillet mellom de to funksjonene. First Charshow () -funksjonen godtar en parameter av Type Char -arrayen, mens den andre godtar en parameter av typen streng.

Konklusjon

Denne artikkelenes base er strengimplementeringen og dens viktige metoder ved hjelp av forskjellige typer, som gjør at vi kan tilpasse strengfunksjonen for å oppfylle våre krav, med eksempler på hvordan vi kan bruke streng og når vi skal bruke den. Vi har lagt til flere funksjoner som er en del av strengfunksjonen i C++. Vi har forklart fem forskjellige eksempler for å utdype arbeidet med strenger i C++.