Dienstag, 2. Juli 2024
15.6 C
Berlin

C++ Zeichenketten zusammenfügen und vergleichen

In C++ kann der „+“ Operator dazu verwendet werden, Strings zusammenzufügen und den Inhalt in der ursprünglichen Variablen zu speichern. Benutzt man dagegen den „-“ Operator kann das Ergebnis mit cout ausgegeben werden, der Inhalt der ursprünglichen Variablen ändert sich dadurch nicht.

 

 

Die <string> Bibliothek verfügt außerdem über eine Funktion append(), die ebenfalls dazu benutzt werden kann, Strings zusammenzufügen. Der Inhalt der Variable wird dabei als Argument in den Klammern übergeben. Wird die append() Funktion zusammen mit der cout-Funktion verwendet, kann der neue Inhalt ausgegeben werden, der Inhalt der ursprünglichen Variablen bleibt unverändert.

Vergleiche von Sting-Inhalten werden auf die gleiche Art und Weise durchgeführt, wie bei numerischen Werten. Der „==“ Operator gibt bei einer Übereinstimmung ein logisches true (1) zurück, andernfalls ist der Rückgabewert ein logisches false (0).

Alternativ dazu kann auch die Funktion compare() aus der <string> Bibliothek zum Vergleich von zwei Strings herangezogen werden. Die Inhalte der String-Variablen werden als Argumente in den Klammern übergeben. Anders als beim Vergleich mit „==“ gibt die compare() Funktion eine Null zurück wenn die Strings identisch sind. Dabei wird der Inhalt der Variablen anhand ihrer ASCII-Codes verglichen. Ist der Wert des als Argument übergebenen Strings höher als der erste String, wird ein -1 zurückgegeben, andernfalls ist der Rückgabewert 1.

Den geschilderten Sachverhalt verdeutlicht das folgende kleine Programm:

 

Übung: Zeichenketten vergleichen

Programm: compare.cpp

#include <string>

#include <iostream>

using namespace std;

int main ()

{

            string lang = "C++";

            string term = " Programmierung";

            string text = "C++ Programmierung";

            //Verwendung des + Operators

            cout << "Zusammengesetzt: " << (lang + term) << endl;

            cout << "Original: " << lang << endl;

            //Verwendung der append-Funktion

            cout << "Angehaengt: " << lang.append(term) << endl;

            //string lang hat einen neuen Wert

            cout << "Original: " << lang << endl << endl;

            cout << "Unterschied: " << (lang == term) << endl;

            cout << "Uebereinstimmung: " << (lang == text) << endl << endl;

            //Benutzung der Funktion compare()

            //Ueberpruefung anhand ASCII-Code

            cout << "Uebereinstimmung: " << lang.compare(text) << endl;

            cout << "Unterschied: " << lang.compare(term) << endl;

            cout << "Niedrigerer ASCII-Wert: " << lang.compare("xxxxx") << endl; 

            system("pause");

            return 0;

}

 

Speichern Sie den Programmcode, kompilieren Sie anschließend das Programm und werfen Sie einen Blick auf das Ergebnis.

C++ Zeichenketten zusammenfügen und vergleichen
Strings miteinander vergleichen.
Praxistipp: Vergleicht man mit der Funktion compare() zwei Strings miteinander, kommt es dabei auch auf die Position einzelner Zeichen in der Zeichenkette an. Vergleicht man „za“ mit „az“ wird „za“ als größer angezeigt. In der ASCII-Tabelle hat „a“ den Wert 97 und „z“ 122.

 

Dieser Artikel ist Teil unseres kostenlosen Workshops “C++ Programmieren lernen” – Geeignet für Einsteiger und Fortgeschrittene. Machen auch Sie mit und lernen Sie in 50 Artikeln, wie Sie Programme selbst schreiben!

 

 

Artikelbild: Fotolia / bramgino

 

PC-Reparatur.Shop - Team
PC-Reparatur.Shop - Team
Wenn Sie Fragen oder Anregungen zu diesem Beitrag haben, wenden Sie sich bitte direkt über die E-Mail Adresse blog@pc-reparatur.shop an unser Team - Vielen Dank!
Bewertung des Artikels: 1 Stern2 Sterne3 Sterne4 Sterne5 Sterne

IN EIGENER SACHE

Ähnliche Artikel