Kopieren eines Strings in einen anderen

C++C++Beginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/arrays("Arrays") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/arrays -.-> lab-96183{{"Kopieren eines Strings in einen anderen"}} cpp/strings -.-> lab-96183{{"Kopieren eines Strings in einen anderen"}} cpp/output -.-> lab-96183{{"Kopieren eines Strings in einen anderen"}} cpp/user_input -.-> lab-96183{{"Kopieren eines Strings in einen anderen"}} cpp/files -.-> lab-96183{{"Kopieren eines Strings in einen anderen"}} cpp/code_formatting -.-> lab-96183{{"Kopieren eines Strings in einen anderen"}} end

Erstellen einer neuen 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 iostream und string.
  • Danach werden zwei String-Objekte s1 und s2 definiert.
  • 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 iostream und cstring.
  • Danach werden zwei C-Strings s1 und s2 definiert.
  • 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 wir cin.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 der cstring-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ühren Sie 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.