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.
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