String Vergleich
-
Hallo Zusammen,
1- Gibt es eine Beste methode um die Texte zu vergleichen?
2- Außerdem wie soll man seine Textstücke speichern? Char*, String, Char Array usw. Welche ist für welche aufgabe besser geeignet?
Könnt ihr bitte helfen.
Es wäre auch schönn falls ihr eine Artikel zeigen könnt.
Danke im Voraus
-
Ich sollte es in C++ forum schrieben. Kann eine ihn schieben.
-
Wenn ich mich recht entsinne gibt's in C++ Strings.
In C gibt's dafür "nur" Char* bzw. Char-Arrays.Womöglich bist Du hier ja doch richtig...
Im Übrigen würde es sich anbieten, ein entsprechendes C-Tutorial zu absolvieren, um die "Grundfunktionen" der Sprache kennen und anwenden zu lernen.
http://cplusplus.com/reference/clibrary/cstring/
Hier findest Du einen tollen Überblick über den String-Header der C-Library.
Ansonsten ist die Wahl des richtigen Datentyps stark abhängig vom Anwendungsgebiet bzw. der Zielsetzung. Generell ist ein "Text" in einem Char-Array gut aufgehoben. Da wiederum kommt es darauf an, ob sich der Text verändert bzw. variabel sein soll, die Länge bekannt ist, etc...
Textvergleiche mit strcmp ->
Gleichen sich die beiden "Texte", die man strcmp übergibt, bekommt man 0 zurückgeliefert. Ist der "Wert" von text1 > text2, bekommt man 1, andernfalls -1 als Rückgabe.char text1[] = "Angel"; char text2[] = "Zange"; int erg=0; erg = strcmp (text1, text2); if (erg > 0) printf ("%s > %s\n", text1, text2); else if (erg < 0) printf ("%s < %s\n", text1, text2); else printf ("%s == %s\n", text1, text2);
-
Gleichen sich die beiden "Texte", die man strcmp übergibt, bekommt man 0 zurückgeliefert. Ist der "Wert" von text1 > text2, bekommt man 1, andernfalls -1 als Rückgabe.
Kleine Korrektur:
strcmp liefert 0 zurück wenn beide Texte gleich sind, eine negative Zahl (nicht unbedingt -1) wenn text1 kleiner ist und eine positive Zahl (nicht unbedingt 1) wenn text1 größer ist.
-
linux_c89 schrieb:
Gleichen sich die beiden "Texte", die man strcmp übergibt, bekommt man 0 zurückgeliefert. Ist der "Wert" von text1 > text2, bekommt man 1, andernfalls -1 als Rückgabe.
Kleine Korrektur:
strcmp liefert 0 zurück wenn beide Texte gleich sind, eine negative Zahl (nicht unbedingt -1) wenn text1 kleiner ist und eine positive Zahl (nicht unbedingt 1) wenn text1 größer ist.1000 Dank
Habe ich ehrlich gesagt nie wirklich beachtet... zum Sortieren reichte mir ein >0 oder <0 und zum Abgleichen ein ! oder ohne
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89 und C99) in das Forum C++ (auch C++0x) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
std::string Foo("Hallo"), Bar("Hallo!"); std::cout << "Foo und Bar sind " << (Foo == Bar ? "" : "nicht ") << "gleich.\n";