Was ist ein String?
Eine Zeichenfolge ist eine Folge von Zeichen. Ein C ++ - String ist ein Objekt der Klasse std :: string. Die Zeichen sind gespeicherte Folgen von Bytes, wobei der Zugriff auf ein einzelnes Zeichenbyte zulässig ist.
C ++ - Zeichenfolgen weisen den Speicher dynamisch zu. Bei Bedarf kann der Zeichenfolge zur Laufzeit mehr Speicher zugewiesen werden. Da keine Speichervorzuweisung erfolgt, wird kein Speicher verschwendet. Wir können verschiedene Operationen an Zeichenfolgen ausführen, einschließlich Vergleiche, Verkettung, Konvertierung usw.
In diesem C ++ - Tutorial lernen Sie:
- Was ist ein String?
- Zeichenfolgen deklarieren
- Zeichenfolge im C-Stil
- std :: string
- Zugriff auf Zeichenfolgenwerte
- String-Funktionen:
- strcpy ()
- strcat ()
- strlen ()
- strcmp ()
- Beispiel:
Zeichenfolgen deklarieren
C ++ unterstützt zwei Arten von Zeichenfolgendeklarationen:
- Zeichenfolge im C-Stil
- String-Klassentyp
Zeichenfolge im C-Stil
Diese Art der Zeichenfolgendeklaration wurde in der Programmiersprache C eingeführt. C ++ unterstützt es weiterhin. Es ist einfach ein eindimensionales Array von Zeichen, das mit einem Nullzeichen (\ 0) abgeschlossen wird. Eine nullterminierte Zeichenfolge enthält Zeichen, aus denen die Zeichenfolge besteht, gefolgt von einer Null.
Beachten Sie die unten angegebene Zeichenfolgendeklaration:
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 das Halten des Nullzeichens.
Unter Verwendung 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 das '\ 0' am Ende der Zeichenfolge.
std :: string
Die Standard-C ++ - Bibliothek stellt die Zeichenfolgenklasse bereit, die verschiedene Zeichenfolgenoperationen unterstützt. Es ist als std :: string geschrieben.
Um diese Klasse zu verwenden, müssen wir sie zuerst mit dem Präprozessor #include in unseren Arbeitsbereich aufnehmen, wie unten gezeigt:
#include
Als nächstes können wir unsere Zeichenfolge 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.
Zugriff auf Zeichenfolgenwerte
In C ++ können wir über den Zeichenfolgennamen auf die Zeichenfolgenwerte zugreifen. Zum Beispiel:
#includeusing namespace std;int main() {char name[5] = { 'J', 'o', 'h', 'n', '\0' };cout << "String value is: ";cout << name << endl;return 0;}
Ausgabe:
Hier ist ein Screenshot des Codes:
Code Erläuterung:
- Aufnahme der iostream-Header-Datei in unseren Code. Dadurch können wir von der Konsole lesen und darauf schreiben.
- Einschließen des Standard-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
- Aufruf der main () -Funktion, in der die Logik des Programms hinzugefügt werden soll. Das {markiert den Anfang des Körpers der main () - Funktion.
- Eine Zeichenfolge deklarieren und ihr den Namen geben. Die Zeichenfolge speichert den Wert John. Der zusätzliche Speicherplatz speichert das Nullzeichen.
- Drucken von Text auf der Konsole.
- Drucken des Werts der Zeichenfolge mit dem Namen name auf der Konsole.
- Die Funktion main () sollte einen Wert zurückgeben, wenn das Programm ordnungsgemäß ausgeführt wird.
- Ende des Körpers der main () - Funktion.
Hier ist ein weiteres Beispiel mit der C ++ - Standardzeichenfolgenklasse:
#include#include using namespace std;int main() {string name = "Guru99";cout << "The name is : " << name << endl;return 0;}
Ausgabe:
Hier ist ein Screenshot des Codes:
Code Erläuterung:
- Aufnahme der iostream-Header-Datei in unseren Code. Dadurch können wir von der Konsole lesen und darauf schreiben.
- Aufnahme der Standard-String-Klasse in unseren Code.
- Einschließen des Standard-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
- Aufruf der main () -Funktion, in der die Logik des Programms hinzugefügt werden soll. Das {markiert den Anfang des Körpers der main () - Funktion.
- Eine Zeichenfolge deklarieren und ihr den Namen geben. Die Zeichenfolge speichert den Wert Guru99.
- Drucken des Werts des Zeichenfolgennamens neben Text auf der Konsole.
- Die Funktion main () sollte einen Wert zurückgeben, wenn das Programm ordnungsgemäß ausgeführt wird.
- Ende des Körpers der main () - Funktion.
String-Funktionen:
Sie werden oft Strings manipulieren wollen. C ++ bietet eine Vielzahl von Funktionen, die Sie hierfür verwenden können. Diese Funktionen sind in der CString-Klasse definiert, daher müssen wir sie in unseren Code aufnehmen, um die Funktionen verwenden zu können. Lassen Sie uns einige diskutieren:
strcpy ()
Dies ist die Funktion zum Kopieren von Zeichenfolgen. 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 die Zeichenfolge string1 in die Zeichenfolge 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 Strings. 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 als Argument übergeben wurde.
Syntax:
strnlen(string1)
Der Parameter string1 ist der Name des Strings, dessen Länge bestimmt werden soll. Die obige Funktion gibt die Länge des Strings string1 zurück.
strcmp ()
Dies ist die String-Vergleichsfunktion. Es wird für den Zeichenfolgenvergleich verwendet.
Syntax:
strcmp(string1, string2);
Die obige Funktion gibt 0 zurück, wenn die Zeichenfolgen string1 und string2 ähnlich sind, kleiner als 0, wenn string1
Beispiel:
Das folgende Beispiel zeigt, wie die obigen Zeichenfolgenfunktionen verwendet werden:
#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;}
Ausgabe:
Hier ist ein Screenshot des Codes:
Code Erläuterung:
- Aufnahme der iostream-Header-Datei in unseren Code. Dadurch können wir von der Konsole lesen und darauf schreiben.
- Aufnahme der Standard-CString-Klasse in unseren Code.
- Einschließen des Standard-Namespace, um seine Klassen und Funktionen zu verwenden, ohne ihn aufzurufen.
- Aufruf der main () -Funktion, in der die Logik des Programms hinzugefügt werden soll. Das {markiert den Anfang des Körpers der main () - Funktion.
- Deklarieren Sie eine Zeichenfolge mit 10 Zeichen und geben Sie ihr den Namen name1. Die Zeichenfolge 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.
- Deklarieren einer Ganzzahlvariablen mit dem Namen len.
- Kopieren des Zeichenfolgennamens1 in den Zeichenfolgennamen3.
- Drucken Sie den Wert des Zeichenfolgennamens1 zusammen mit Text auf der Konsole. Es sollte Guru99 drucken.
- Verketten der Zeichenfolgen name2 mit dem Ende der Zeichenfolge name1. Der Wert von name1 ist jetzt Guru99John.
- Drucken des Werts der Zeichenfolge name1 neben Text auf der Konsole. Es sollte Guru99John drucken
- Bestimmen der Länge der Zeichenfolge mit dem Namen name1 und Zuweisen des Werts der Länge zur Variablen len.
- Drucken des Werts der Variablen len zusammen mit einem anderen Text auf der Konsole.
- Die Funktion main () sollte einen Wert zurückgeben, wenn das Programm ordnungsgemäß ausgeführt wird.
- Ende des Körpers der main () - Funktion.
Zusammenfassung
- Eine Zeichenfolge ist eine Folge von Zeichen.
- Strings gehören zur Standard-String-Klasse in C ++.
- Wir können Zeichenfolgen mit der Zeichenfolge im C-Stil oder der Standardzeichenfolgenklasse deklarieren.
- Die Funktion strcpy () kopiert eine Zeichenfolge in eine andere.
- Die Funktion strcat () verkettet zwei Funktionen.
- Die Funktion strlen () gibt die Länge einer Funktion zurück.
- Die Funktion strcmp () vergleicht zwei Zeichenfolgen.