Einführung
In diesem Lab lernst du, wie du Strings in C++ kopierst. Wir werden sowohl String-Objekte als auch C-Strings verwenden, um dies zu demonstrieren.
Erstellen eine neue C++-Datei
Navigiere zum Verzeichnis ~/project und erstelle eine neue C++-Datei namens main.cpp.
cd ~/project
touch main.cpp
Kopieren von String-Objekten
Wir können den Zuweisungsoperator verwenden, um ein String-Objekt in ein anderes zu kopieren. Folgendes Codebeispiel veranschaulicht dies:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1, s2;
cout << "Geben Sie den String s1 ein: ";
getline(cin, s1);
s2 = s1;
cout << "s1 = " << s1 << endl;
cout << "s2 = " << s2;
return 0;
}
Erklärung:
- Zunächst werden die erforderlichen Bibliotheken für dieses Programm eingebunden, nämlich
iostreamundstring. - Danach werden zwei String-Objekte
s1unds2definiert. - Der Benutzer wird aufgefordert, den String s1 einzugeben, indem die
getline()-Funktion verwendet wird, die den gesamten String einschließlich Leerzeichen liest. - s1 wird an s2 über den Zuweisungsoperator zugewiesen.
- Schließlich werden s1 und s2 ausgegeben.
Codeausgabe
Geben Sie den String s1 ein: Hello World!
s1 = Hello World!
s2 = Hello World!
Kopieren von C-Strings
Wir werden die strcpy()-Funktion aus der cstring-Bibliothek verwenden, um C-Strings zu kopieren. Folgendes Codebeispiel veranschaulicht dies:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s1[100], s2[100];
cout << "Geben Sie den String s1 ein: ";
cin.getline(s1, 100);
strcpy(s2, s1);
cout << "s1 = " << s1 << endl;
cout << "s2 = "<< s2;
return 0;
}
Erklärung:
- Zunächst werden die erforderlichen Bibliotheken für dieses Programm eingebunden, nämlich
iostreamundcstring. - Danach werden zwei C-Strings
s1unds2definiert. - Der Benutzer wird aufgefordert, den String s1 einzugeben.
- Die
getline()-Funktion wird in diesem Fall nicht verwendet, da sie nur für String-Objekte und nicht für C-Strings geeignet ist. Stattdessen verwenden wircin.getline, wobei der erste Parameter die Arrayvariable und der zweite Parameter die maximale Größe des zu lesenden Arrays ist. - Der String s1 wird in s2 mit der
strcpy()-Funktion aus dercstring-Bibliothek kopiert. - Schließlich werden s1 und s2 ausgegeben.
Codeausgabe
Geben Sie den String s1 ein: Hello World!
s1 = Hello World!
s2 = Hello World!
Führe die Datei aus
Um den Code in der Konsole auszuführen, öffnen Sie die Konsole im Projektordner und führen Sie die folgenden Befehle aus:
g++ main.cpp -o main
./main
Dieser Befehl kompiliert die main.cpp-Datei und erzeugt in dem gleichen Verzeichnis eine ausführbare Datei namens main. Der zweite Befehl führt die main-Datei aus und gibt das Ergebnis in der Konsole aus.
Zusammenfassung
In diesem Lab wurde diskutiert, wie man in C++ Strings mithilfe von String-Objekten und C-Strings kopiert. Sie haben gelernt, dass Sie für String-Objekte den Zuweisungsoperator verwenden können und für C-Strings die strcpy()-Funktion aus der cstring-Bibliothek. Indem Sie diese einfachen Schritte befolgen, können Sie Strings in C++ leicht kopieren.



