String in ein Array von Zeichen umwandeln

C++Beginner
Jetzt üben

Einführung

In diesem Lab werden wir demonstrieren, wie man in C++ einen String in ein Array von Zeichen umwandelt. Die c_str()-Methode, die innerhalb der string.h-Bibliothek definiert ist, wird verwendet, um den String in ein Array von Zeichen umzuwandeln.

Bibliotheken einbinden und Namensraum definieren

Wir werden eine neue Datei namens main.cpp im Verzeichnis ~/project mit dem folgenden Befehl erstellen:

touch ~/project/main.cpp

Zunächst müssen wir die erforderlichen Header-Dateien einbinden und den Namensraum std definieren, den wir verwenden werden.

#include <iostream>
#include <string.h>

using namespace std;

Variablen und Eingabestring deklarieren

Wir deklarieren eine string-Variable und bitten den Benutzer, einen String ohne Leerzeichen einzugeben.

int main()
{
    string s;
    cout << "Enter a string without any space: ";
    cin >> s;
}

Ein Array von Zeichen aus einem String erstellen

Wir erstellen ein Array von Zeichen aus dem eingegebenen String, indem wir die strncpy-Funktion verwenden. Der sizeof-Operator wird verwendet, um die Größe des Arrays zu bestimmen.

char cArray[1024];
strncpy(cArray, s.c_str(), sizeof(cArray));

Elemente des Arrays auf Null initialisieren

Um in den Array ungewollte Werte (Garbage Values) zu vermeiden, initialisieren wir alle Elemente des Arrays mit Null, indem wir folgenden Ausdruck verwenden.

cArray[sizeof(cArray) - 1] = 0;

Arrayelemente ausgeben

Wir durchlaufen dann das Array, um alle Elemente auszugeben.

for (int i = 0; cArray[i]!= 0; i++)
{
    cout << "cArray[ " << i << " ]: " << cArray[i] << endl;
}

Um den Code zu kompilieren und auszuführen, verwenden Sie folgenden Befehl im Terminal:

g++ main.cpp -o main && ./main

Zusammenfassung

In diesem Lab haben wir gelernt, wie man in C++ einen String in ein Array von Zeichen umwandelt. Die c_str()-Methode wird verwendet, um ein Array von Zeichen aus dem eingegebenen String zu erstellen. Wir haben alle Elemente des Arrays mit Null initialisiert und dann das Array durchlaufen, um alle seine Elemente auszugeben.