C++-String-Funktion: strcpy(), strcat(), strlen(), strcmp() Beispiel

Was ist eine Zeichenfolge?

Ein String ist eine Folge von Zeichen. Ein C++-String ist ein Objekt der Klasse std::string. Die Zeichen sind gespeicherte Bytefolgen, wobei der Zugriff auf ein einzelnes Zeichenbyte zulässig ist.

C++-Strings weisen Speicher dynamisch zu. Bei Bedarf kann der Zeichenfolge zur Laufzeit mehr Speicher zugewiesen werden. Da es keine Speichervorabzuweisung gibt, wird kein Speicher verschwendet. Wir können verschiedene Operationen an Zeichenfolgen durchführen, einschließlich Vergleiche, Verkettung, Konvertierung usw.

Strings deklarieren

C++ unterstützt zwei Arten von String-Deklarationen:

  • Zeichenfolge im C-Stil
  • String-Klassentyp

Zeichenfolge im C-Stil

Diese Art der String-Deklaration wurde eingeführt Programmiersprache C. C++ unterstützt es weiterhin. Es handelt sich einfach um ein eindimensionales Array von Zeichen, das mit einem Nullzeichen (\0) abgeschlossen wird. Eine nullterminierte Zeichenfolge besteht aus Zeichen, aus denen die Zeichenfolge besteht, gefolgt von einer Null.

Betrachten Sie die unten angegebene String-Deklaration:

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

Die obige Deklaration erstellt eine Zeichenfolge, die das Wort John bildet. Das Wort hat 4 Zeichen, aber die Zeichenfolge hat eine Größe von 5. Der zusätzliche Platz ermöglicht die Aufnahme des Nullzeichens.

Mit der Array-Initialisierungsregel können wir die obige Anweisung wie folgt schreiben:

char name[] = "John";

Beachten Sie, dass Sie das Nullzeichen nicht am Ende der Zeichenfolgenkonstante platzieren müssen. Der C++-Compiler platziert beim Initialisieren des Arrays automatisch „\0“ am Ende der Zeichenfolge.

std::string

Die Standard-C++-Bibliothek stellt die String-Klasse bereit, die verschiedene String-Operationen unterstützt. Es wird als std::string geschrieben.

Um diese Klasse verwenden zu können, müssen wir sie zunächst mit dem #include-Präprozessor in unseren Arbeitsbereich einbinden, wie unten gezeigt:

#include<string>

Als nächstes können wir unseren String mit dem Schlüsselwort string deklarieren. Zum Beispiel:

string name = "John";

Die obige Anweisung erstellt eine Zeichenfolge mit dem Namen „name“, die den Wert „John“ enthält.

Auf Zeichenfolgenwerte zugreifen

In C + +können wir über den String-Namen auf die String-Werte zugreifen. Zum Beispiel:

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

Ausgang:

Auf Zeichenfolgenwerte zugreifen

Hier ist ein Screenshot des Codes:

Auf Zeichenfolgenwerte zugreifen

Code-Erklärung:

  1. Einbinden der iostream-Header-Datei in unseren Code. Dadurch können wir von der Konsole lesen und darauf schreiben.
  2. Einschließlich des std-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
  3. Aufruf der Funktion main(), in der die Logik des Programms hinzugefügt werden soll. Das { markiert den Beginn des Hauptteils der main()-Funktion.
  4. Deklarieren Sie eine Zeichenfolge und geben Sie ihr den Namen name. Die Zeichenfolge speichert den Wert John. Der zusätzliche Platz speichert das Nullzeichen.
  5. Einen Text auf der Konsole drucken.
  6. Drucken des Werts der Zeichenfolge namens name auf der Konsole.
  7. Die Funktion main() sollte einen Wert zurückgeben, wenn das Programm einwandfrei läuft.
  8. Ende des Hauptteils der main()-Funktion.

Hier ist ein weiteres Beispiel für die Verwendung der C++-Standard-String-Klasse:

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

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

	return 0;
}

Ausgang:

Auf Zeichenfolgenwerte zugreifen

Hier ist ein Screenshot des Codes:

Auf Zeichenfolgenwerte zugreifen

Code-Erklärung:

  1. Einbinden der iostream-Header-Datei in unseren Code. Dadurch können wir von der Konsole lesen und darauf schreiben.
  2. Einbindung der Standard-String-Klasse in unseren Code.
  3. Einschließlich des std-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
  4. Aufruf der Funktion main(), in der die Logik des Programms hinzugefügt werden soll. Das { markiert den Beginn des Hauptteils der main()-Funktion.
  5. Einen String deklarieren und ihm den Namen name geben. Die Zeichenfolge speichert den Wert Guru99.
  6. Drucken des Werts des Zeichenfolgennamens zusammen mit etwas Text auf der Konsole.
  7. Die Funktion main() sollte einen Wert zurückgeben, wenn das Programm einwandfrei läuft.
  8. Ende des Hauptteils der main()-Funktion.

String-Funktionen in C++

Sie möchten häufig Zeichenfolgen manipulieren. C++ stellt eine Vielzahl an Funktionen zur Verfügung, die Sie hierfür nutzen können. Diese Funktionen sind in der CString-Klasse definiert, daher müssen wir sie in unseren Code einbinden, um die Funktionen verwenden zu können. Lassen Sie uns einige besprechen:

strcpy ()

Dies ist die String-Kopierfunktion. Es kopiert eine Zeichenfolge in eine andere Zeichenfolge.

Syntax:

strcpy(string1, string2);

Die beiden Parameter der Funktion, string1 und string2, sind Strings. Die Funktion kopiert den String string1 in den String 1.

strcat()

Dies ist die Funktion zum Verketten von Zeichenfolgen. Es verkettet Zeichenfolgen.

Syntax:

strcat(string1, string2);

Die beiden Parameter der Funktion, string1 und string2, sind die zu verkettenden Zeichenfolgen. Die obige Funktion verkettet die Zeichenfolge string2 mit dem Ende der Zeichenfolge string1.

strlen ()

Dies ist die Stringlängenfunktion. Es gibt die Länge der Zeichenfolge zurück, die ihm als Argument übergeben wurde.

Syntax:

strnlen(string1)

Der Parameter string1 ist der Name des Strings, dessen Länge ermittelt werden soll. Die obige Funktion gibt die Länge der Zeichenfolge string1 zurück.

strcmp()

Dies ist die String-Vergleichsfunktion. Es wird zum String-Vergleich verwendet.

Syntax:

strcmp(string1, string2);

Die obige Funktion gibt 0 zurück, wenn die Zeichenfolgen string1 und string2 ähnlich sind, und weniger als 0, wenn string1 string2.

Beispiel:

Die folgendenwing Beispiel zeigt, wie die oben genannten String-Funktionen verwendet werden:

#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;
}

Ausgang:

String-Funktionen in C++

Hier ist ein Screenshot des Codes:

String-Funktionen in C++

Code-Erklärung:

  1. Einbinden der iostream-Header-Datei in unseren Code. Dadurch können wir von der Konsole lesen und darauf schreiben.
  2. Einbindung der Standard-CString-Klasse in unseren Code.
  3. Einschließlich des std-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
  4. Aufruf der Funktion main(), in der die Logik des Programms hinzugefügt werden soll. Das { markiert den Beginn des Hauptteils der main()-Funktion.
  5. Deklarieren Sie eine Zeichenfolge mit 10 Zeichen und geben Sie ihr den Namen name1. Die Zeichenfolge speichert den Wert Guru99.
  6. Deklarieren Sie eine Zeichenfolge mit 10 Zeichen und geben Sie ihr den Namen name2. Die Zeichenfolge speichert den Wert John.
  7. Deklarieren Sie eine Zeichenfolge mit 10 Zeichen und geben Sie ihr den Namen name3.
  8. An deklarieren ganzzahlige Variable namens len.
  9. Kopieren der Zeichenfolge name1 in die Zeichenfolge name3.
  10. Drucken des Werts der Zeichenfolge name1 zusammen mit etwas Text auf der Konsole. Es sollte Guru99 drucken.
  11. Verketten der Zeichenfolgen „name2“ mit dem Ende der Zeichenfolge „name1“. Der Wert von name1 ist jetzt Guru99John.
  12. Drucken des Werts der Zeichenfolge name1 zusammen mit etwas Text auf der Konsole. Es sollte Guru99John lauten
  13. Bestimmen der Länge der Zeichenfolge mit dem Namen name1 und Zuweisen des Längenwerts zur Variablen len.
  14. Drucken des Werts der len-Variablen zusammen mit anderem Text auf der Konsole.
  15. Die Funktion main() sollte einen Wert zurückgeben, wenn das Programm einwandfrei läuft.
  16. Ende des Hauptteils der main()-Funktion.

Zusammenfassung

  • Ein String ist eine Folge von Zeichen.
  • Strings gehören zur Standard-String-Klasse in C++.
  • Wir können Zeichenfolgen mithilfe der Zeichenfolge im C-Stil oder der Standardzeichenfolgenklasse deklarieren.
  • Die Funktion strcpy() kopiert einen String in einen anderen.
  • Die Funktion strcat() verkettet zwei Funktionen.
  • Die Funktion strlen() gibt die Länge einer Funktion zurück.
  • Die strcmp()-Funktion compares zwei Saiten.