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.



