Das erste Programm hier braucht eine Variable: sie heißt einfach "name". In die Variable name wird die Zeichenkette, die von der Tastatur eingegeben wird, eingelesen (cin >>).
//strn.cpp
#include <iostream>
using namespace std;
int main()
{
string name;
cout << endl << "Bitte geben Sie Ihren Namen ein: ";
cin >> name;
cout << "Hallo, " << name << "!!!";
return 0;
}
Im fast einfachsten Falle vergleicht man zwei Zeichenketten mit dem Operator ==. Das kleine Programm dazu sieht wie folgt aus:
//strin.cpp
#include <iostream>
using namespace std;
int main()
{
string a = "Beispielwort";
string b;
b = a;//Kopie von a nach b
cout << b << endl;
if (a==b)
cout << "Das erste Wort ist dem zweiten gleich." << endl;
return 0;
}
In dem folgenden kleinen Programm gibt es = und == und sogar die Zeile: int j = (a==b);. Das will ich erklären: Das = ist immer eine Zuweisung. Das == aber ist eine Prüfung auf Gleichheit. Das ist ein großer Unterschied! Die Zuweisung kann einen Wert kopieren - die Prüfung auf Gleichheit ist etwas Logisches.
//string.cpp
#include <iostream>
using namespace std;
int main()
{
string a = "Beispielwort";
string b;
cout << endl << a;
b = a;//Kopie von a nach b
cout << endl << b;
int j = (a==b);
cout << endl << j;//1
return 0;
}
int kann hier bool heißen, so dass das Programm auch folgendermaßen funktioniert:
//string2.cpp
#include <iostream>
using namespace std;
int main()
{
string c = "Beispielwort";
string d;
cout << endl << c;
d = c;//Kopie von c nach d
cout << endl << d;
bool j = c==d;
cout << endl << j;//1
printf("\nTaste bitte ...");
cin.get();
return 0;
}
//strplus.cpp
#include <iostream>//cout, cin
using namespace std;
int main()
{
string a;
string b;
cout << "Bitte ein erstes Wort eingeben: ";
cin >> a;
cout << "Bitte ein zweites Wort eingeben: ";
cin >> b;
string c = a + ' ' + b;//Zusammenfuegen mit +
cout << endl << c;
cout << endl;
system("pause");
return 0;
}
Das Suchen ganzer Wörter geschieht wie hier im Video gezeigt:
//str.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string irgendwas = "Irgendetwas";
string i2 = irgendwas;
cout << "Wortlaenge: " << irgendwas.size() << endl;
cout << "Ist das Wort sozusagen leer? " << irgendwas.empty() << endl;
cout << "Angehaengt: " << irgendwas.append(" hinterher.") << endl;
cout << irgendwas << endl;
if (irgendwas == i2)
cout << "Sie sind noch gleich" << endl;
return 0;
}
Die besten und wichtigsten Operationen folgen nun:
//str2.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string ganzerSatz = "My little small tiny cute notebook is here.";
cout << ganzerSatz << endl;//My little small tiny cute notebook is here.
int index = ganzerSatz.find("notebook", 0);
cout << index << endl;//26
ganzerSatz.replace(index, 8, "laptop");
cout << ganzerSatz << endl;//My little small tiny cute laptop is here.
int index2 = ganzerSatz.find("laptop", 0);
cout << index2 << endl;//26
ganzerSatz.erase(index, 7);
cout << ganzerSatz << endl;//My little small tiny cute is here.
index2 = ganzerSatz.find("laptop", 0);
cout << index2 << endl;//-1
ganzerSatz.insert(26, "notebook ");
cout << ganzerSatz << endl;//My little small tiny cute notebook is here.
return 0;
}
Mit "getline.cin(...)" kann man mehrere Worte - mit Leertaste dazwischen - einlesen.
//strtest.cpp
#include <iostream>//cout, cin
using namespace std;
int main()
{
//string str;
//cin >> str;
//cout << endl << str;//gibt das erste Wort aus!!!
//cout << endl;
string stri;
getline(cin, stri);
cout << endl << stri;//gibt auch mehrere Worte aus.
cout << endl << "Taste druecken";
cin.get();
return 0;
}