C++ String Funksjon: strcpy(), strcat(), strlen(), strcmp() Eksempel

Hva er en streng?

En streng er en sekvens av tegn. EN C++ string er et objekt av std::string-klassen. Tegnene er lagrede sekvenser av byte med tilgang til en enkelt tegnbyte tillatt.

C++ strenger tildeler minne dynamisk. Mer minne kan tildeles strengen under kjøring om nødvendig. Siden det ikke er noen forhåndstildeling av minne, ingen sløsing med minne. Vi kan utføre ulike operasjoner på strenger, inkludert sammenligninger, sammenkobling, konvertering, etc.

Erklærer strenger

C++ støtter to typer strengdeklarasjoner:

  • C-stil tegnstreng
  • Klassetype streng

C-stil tegnstreng

Denne typen strengdeklarasjon ble introdusert i C programmeringsspråk. C++ fortsetter å støtte det. Det er ganske enkelt en endimensjonal rekke tegn som avsluttes med et nulltegn (\0). En null-terminert streng har tegn som utgjør strengen, etterfulgt av en null.

Tenk på strengerklæringen gitt nedenfor:

char name[5] = {'J', 'o', 'h', 'n', '\0'};

Deklarasjonen ovenfor lager en streng som danner ordet John. Ordet har 4 tegn, men strengen har en størrelse på 5. Den ekstra plassen gjør det mulig å holde null-tegnet.

Ved å bruke array-initialiseringsregelen kan vi skrive setningen ovenfor som følger:

char name[] = "John";

Merk at du ikke trenger å plassere null-tegnet på slutten av strengkonstanten. De C++ kompilatoren vil automatisk plassere '\0' ved enden av strengen når matrisen initialiseres.

std::streng

Standard C++ biblioteket gir strengklassen som støtter forskjellige strengoperasjoner. Den er skrevet som std::string.

For å bruke denne klassen må vi først inkludere den i arbeidsområdet vårt ved å bruke #include-forbehandleren som vist nedenfor:

#include<string>

Deretter kan vi deklarere strengen vår ved å bruke søkeordet streng. For eksempel:

string name = "John";

Utsagnet ovenfor vil lage en streng med navn som inneholder verdien John.

Få tilgang til strengverdier

In C++, kan vi få tilgang til strengverdiene ved å bruke strengnavnet. For eksempel:

#include <iostream>
using namespace std;
int main() {
	char name[5] = { 'J', 'o', 'h', 'n', '\0' };
	cout << "String value is: ";
	cout << name << endl;
	return 0;
}

Utgang:

Få tilgang til strengverdier

Her er et skjermbilde av koden:

Få tilgang til strengverdier

Kodeforklaring:

  1. Inkludert iostream header-filen i koden vår. Det vil tillate oss å lese fra og skrive til konsollen.
  2. Inkluderer std-navneområdet for å bruke dets klasser og funksjoner uten å kalle det.
  3. Kaller main()-funksjonen der logikken til programmet skal legges til. { markerer starten på brødteksten til main()-funksjonen.
  4. Deklarerer en streng med tegn og gir den navnet. Strengen vil lagre verdien John. Den ekstra plassen vil lagre null-tegnet.
  5. Skriver ut litt tekst på konsollen.
  6. Skriver ut verdien til strengen med navn på konsollen.
  7. Main()-funksjonen skal returnere en verdi hvis programmet kjører bra.
  8. Slutten av hoveddelen av hoved()-funksjonen.

Her er et annet eksempel på C++ standard strengklasse:

#include <iostream>
#include <string>
using namespace std;
int main() {

	string name = "Guru99";
	
	cout << "The name is : " << name << endl;

	return 0;
}

Utgang:

Få tilgang til strengverdier

Her er et skjermbilde av koden:

Få tilgang til strengverdier

Kodeforklaring:

  1. Inkludert iostream header-filen i koden vår. Det vil tillate oss å lese fra og skrive til konsollen.
  2. Inkludert standard strengklassen i koden vår.
  3. Inkluderer std-navneområdet for å bruke dets klasser og funksjoner uten å kalle det.
  4. Kaller main()-funksjonen der logikken til programmet skal legges til. { markerer starten på brødteksten til main()-funksjonen.
  5. Erklære en streng og gi den navnet navn. Strengen vil lagre verdien Guru99.
  6. Skriver ut verdien av strengnavnet sammen med litt tekst på konsollen.
  7. Main()-funksjonen skal returnere en verdi hvis programmet kjører bra.
  8. Slutten av hoveddelen av hoved()-funksjonen.

Strengefunksjoner i C++

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 å bruke funksjonene. La oss diskutere noen:

strcpy()

Dette er strengkopieringsfunksjonen. Den kopierer en streng til en annen streng.

Syntaks:

strcpy(string1, string2);

De to parameterne til funksjonen, streng1 og streng2, er strenger. Funksjonen vil kopiere strengen string2 inn i string1.

strcat()

Dette er funksjonen for strengsammenkobling. Den setter sammen strenger.

Syntaks:

strcat(string1, string2);

De to parameterne til funksjonen, streng1 og streng2, er strengene som skal settes sammen. Funksjonen ovenfor vil sette sammen strengen string2 til slutten av strengen string1.

strlen()

Dette er strenglengdefunksjonen. Den returnerer lengden på strengen som er sendt til den som argument.

Syntaks:

strnlen(string1)

Parameteren streng1 er navnet på strengen hvis lengde skal bestemmes. Funksjonen ovenfor vil returnere lengden på strengen streng1.

strcmp ()

Dette er funksjonen for sammenligning av strenger. Den brukes til strengsammenligning.

Syntaks:

strcmp(string1, string2);

Funksjonen ovenfor vil returnere 0 hvis strenger streng1 og streng2 er like, mindre enn 0 hvis streng1 streng2.

Eksempel:

Følgende eksempel viser hvordan du bruker strengfunksjonene ovenfor:

#include <iostream>
#include <cstring>
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;
}

Utgang:

Strengefunksjoner i C++

Her er et skjermbilde av koden:

Strengefunksjoner i C++

Kodeforklaring:

  1. Inkludert iostream header-filen i koden vår. Det vil tillate oss å lese fra og skrive til konsollen.
  2. Inkluderer standard CString-klassen i koden vår.
  3. Inkluderer std-navneområdet for å bruke dets klasser og funksjoner uten å kalle det.
  4. Kaller main()-funksjonen der logikken til programmet skal legges til. { markerer starten på brødteksten til main()-funksjonen.
  5. Deklarerer en streng på 10 tegn og gir den navnet name1. Strengen vil lagre verdien Guru99.
  6. Deklarerer en streng på 10 tegn og gir den navnet name2. Strengen vil lagre verdien John.
  7. Deklarerer en streng på 10 tegn og gir den navnet navn3.
  8. Erklærer en heltallsvariabel kalt len.
  9. Kopiering av strengnavn1 til strengnavn3.
  10. Skriver ut verdien av strengnavnet1 sammen med litt tekst på konsollen. Den skal skrive ut Guru99.
  11. Sammenslåing av strengene navn2 til slutten av strengnavn1. Verdien av navn1 er nå Guru99John.
  12. Skriver ut verdien av strengnavnet1 sammen med litt tekst på konsollen. Den skal skrive ut Guru99John
  13. Bestemme lengden på strengen som heter navn1 og tilordne lengdeverdien til variabel len.
  14. Skriver ut verdien av len-variabelen sammen med annen tekst på konsollen.
  15. Main()-funksjonen skal returnere en verdi hvis programmet kjører bra.
  16. Slutten av hoveddelen av hoved()-funksjonen.

Sammendrag

  • En streng er en sekvens av tegn.
  • Strenger tilhører standard strengklassen i C++.
  • Vi kan deklarere strenger ved å bruke C-stiltegnstrengen eller standard strengklasse.
  • Strcpy()-funksjonen kopierer en streng til en annen.
  • Strcat()-funksjonen setter sammen to strenger.
  • Strlen()-funksjonen returnerer lengden på en streng.
  • Strcmp()-funksjonen sammenligner to strenger.

Oppsummer dette innlegget med: