C++ String-Funktionen: strcpy(), strcat(), strlen(), strcmp()
โก Intelligente Zusammenfassung
C++ Stringfunktionen wie `strcpy`, `strcat`, `strlen` und `strcmp` ermรถglichen es Programmen, Text zu kopieren, zusammenzufรผgen, zu messen und zu vergleichen. Diese Ressource erklรคrt, was ein String ist, wie man Strings im C-Stil und vom Typ `std::string` deklariert, auf deren Werte zugreift und die wichtigsten Stringfunktionen anhand von Beispielen anwendet.

Was ist eine Zeichenfolge?
Ein String ist eine Folge von Zeichen. C++ Ein String ist ein Objekt der Klasse std::string. Die Zeichen werden als Bytefolgen gespeichert, wobei der Zugriff auf ein einzelnes Zeichenbyte erlaubt ist.
C++ Strings zuweisen Speicher dynamisch. Bei Bedarf kann zur Laufzeit zusรคtzlicher Speicher fรผr den String reserviert werden. Da keine Speichervorabreservierung erfolgt, entsteht keine Speicherverschwendung. Wir kรถnnen verschiedene Operationen mit Strings durchfรผhren, darunter Vergleiche, Verkettungen, Konvertierungen usw.
Strings deklarieren
C++ unterstรผtzt zwei Arten von Zeichenfolgendeklarationen:
- Zeichenfolge im C-Stil
- String-Klassentyp
Zeichenfolge im C-Stil
Diese Art von String-Deklaration wurde eingefรผhrt in der Programmiersprache C. C++ Es wird weiterhin unterstรผtzt. Es handelt sich lediglich um ein eindimensionales Array von Zeichen, das mit einem Nullzeichen (\0) abgeschlossen wird. Eine nullterminierte Zeichenkette besteht aus den Zeichen, aus denen die Zeichenkette besteht, gefolgt von einem Nullzeichen.
Betrachten Sie die unten angegebene String-Deklaration:
char name[5] = {'J', 'o', 'h', 'n', '\0'};
Die obige Deklaration erzeugt eine Zeichenkette, die das Wort โJohnโ bildet. Das Wort besteht aus 4 Zeichen, die Zeichenkette selbst hat jedoch eine Lรคnge von 5 Zeichen. Der zusรคtzliche Platz dient der 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 Zeichenkettenkonstante einfรผgen mรผssen. C++ Der Compiler fรผgt beim Initialisieren des Arrays automatisch โ\0โ am Ende der Zeichenfolge ein.
std::string
Die Standard C++ Die Bibliothek stellt die String-Klasse bereit, die verschiedene String-Operationen unterstรผtzt. Sie ist als std::string geschrieben.
Um diese Klasse zu verwenden, mรผssen wir sie zuerst mit dem Prรคprozessor #include 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:
Hier ist ein Screenshot des Codes:
Code Erlรคuterung:
- Einbinden der iostream-Header-Datei in unseren Code. Dadurch kรถnnen wir von der Konsole lesen und darauf schreiben.
- Einschlieรlich des std-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
- Die main()-Funktion wird aufgerufen, in die die Programmlogik eingefรผgt werden soll. Die geschweifte Klammer { markiert den Beginn des Funktionskรถrpers der main()-Funktion.
- Deklarieren Sie eine Zeichenfolge und geben Sie ihr den Namen name. Die Zeichenfolge speichert den Wert John. Der zusรคtzliche Platz speichert das Nullzeichen.
- Einen Text auf der Konsole drucken.
- Drucken des Werts der Zeichenfolge namens name auf der Konsole.
- Die Funktion main() sollte einen Wert zurรผckgeben, wenn das Programm einwandfrei lรคuft.
- Ende des Hauptteils der main()-Funktion.
Hier ist ein weiteres Beispiel mit dem 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:
Hier ist ein Screenshot des Codes:
Code Erlรคuterung:
- Einbinden der iostream-Header-Datei in unseren Code. Dadurch kรถnnen wir von der Konsole lesen und darauf schreiben.
- Einbindung der Standard-String-Klasse in unseren Code.
- Einschlieรlich des std-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
- Die main()-Funktion wird aufgerufen, in die die Programmlogik eingefรผgt werden soll. Die geschweifte Klammer { markiert den Beginn des Funktionskรถrpers der main()-Funktion.
- Eine Zeichenkette wird deklariert und ihr der Name โnameโ gegeben. Die Zeichenkette speichert den Wert Guru99
- Drucken des Werts des Zeichenfolgennamens zusammen mit etwas Text auf der Konsole.
- Die Funktion main() sollte einen Wert zurรผckgeben, wenn das Programm einwandfrei lรคuft.
- Ende des Hauptteils der main()-Funktion.
String-Funktionen in C++
Sie mรถchten Zeichenfolgen hรคufig bearbeiten. C++ bietet eine breite Palette von Funktionen, die Sie dafรผr verwenden kรถnnen. Diese Funktionen sind definiert in der Da es sich um eine Header-Datei handelt, mรผssen wir sie in unseren Code einbinden, um die Funktionen nutzen zu kรถnnen. Betrachten wir einige davon genauer:
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 Zeichenketten. Die Funktion kopiert die Zeichenkette string2 in string1.
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 Zeichenketten. Die obige Funktion verkettet die Zeichenkette string2 an das Ende der Zeichenkette string1.
strlen ()
Dies ist die Stringlรคngenfunktion. Es gibt die Lรคnge der Zeichenfolge zurรผck, die ihm als Argument รผbergeben wurde.
Syntax:
strlen(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 Zeichenketten string1 und string2 รคhnlich sind, einen Wert kleiner als 0, wenn string1 < string2, und einen Wert grรถรer als 0, wenn string1 > string2.
Ejemplo:
Das folgende Beispiel demonstriert die Verwendung der obigen Zeichenfolgenfunktionen:
#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:
Hier ist ein Screenshot des Codes:
Code Erlรคuterung:
- Einbinden der iostream-Header-Datei in unseren Code. Dadurch kรถnnen wir von der Konsole lesen und darauf schreiben.
- einschlieรlich des Standards Header in unserem Code.
- Einschlieรlich des std-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
- Die main()-Funktion wird aufgerufen, in die die Programmlogik eingefรผgt werden soll. Die geschweifte Klammer { markiert den Beginn des Funktionskรถrpers der main()-Funktion.
- Eine Zeichenkette mit 10 Zeichen wird deklariert und mit dem Namen name1 bezeichnet. Die Zeichenkette speichert den Wert Guru99
- Deklarieren Sie eine Zeichenfolge mit 10 Zeichen und geben Sie ihr den Namen name2. Die Zeichenfolge speichert den Wert John.
- Deklarieren Sie eine Zeichenfolge mit 10 Zeichen und geben Sie ihr den Namen name3.
- An deklarieren ganzzahlige Variable namens len.
- Kopieren der Zeichenfolge name1 in die Zeichenfolge name3.
- Den Wert der Zeichenkette โname3โ zusammen mit etwas Text in der Konsole ausgeben. Es sollte Folgendes ausgegeben werden: Guru99
- Die Zeichenkette name2 wird an das Ende der Zeichenkette name1 angehรคngt. Der Wert von name1 ist nun Guru99. Johannes.
- Den Wert der Zeichenkette โname1โ zusammen mit etwas Text in der Konsole ausgeben. Es sollte Folgendes ausgegeben werden: Guru99. Johannes.
- Die Lรคnge der Zeichenkette namens name1 wird ermittelt und der Wert der Lรคnge der Variablen len zugewiesen.
- Den Wert der Variable len zusammen mit einem anderen Text in der Konsole ausgeben.
- Die Funktion main() sollte einen Wert zurรผckgeben, wenn das Programm einwandfrei lรคuft.
- Ende des Hauptteils der main()-Funktion.




