Strings

Einige Probleme bei der Benutzung von Strings (1/2)

Das Handling mit Strings ist nicht völlig unproblematisch, wenn man nicht bedenkt, daß es sich um char-Arrays handelt. Ein Vergleich, ob zwie Strings identisch sind, läßt sich nicht einfach mit dem Vergleichsoperato druchführen:

char* txt1 = "Das ist ein String";
char* txt2 = "Das ist ein String";
char* txt3 = "Das ist noch ein String;

if (txt1 == txt2)                  // Strings sind zwar gleich, aber es
{                                  // werden nur Adressen verglichen
  cout << "Beide Strings gleich";  // ==> Ungleichheit
}
if (*txt1 == *txt3)                // Strings sind zwar nicht gleich, aber es
{                                  // wird nur das erste Zeichen verglichen
  cout << "Beide Strings gleich";  // ==> Gleichheit
}

Man muß also eine Funktion definieren, die beim Vergleichen alle Positionen vergleicht. Dies ist nicht ganz einfach, da z. B. unterschiedliche Längen beachtet werden müssen.