Lexikographischer Vergleich
-
Hallo,
ich komme aus der Java Ecke und lerne gerade C++.
Ich suche nun eine Möglichkeit ein String Array lexikopraphisch zu sortieren und
dabei Groß- und Kleinschreibung zu ignorieren. In Java gibt es die Methode compareTiIgnoreCase(), in C++ kenne ich nur den Vergleichsoperator > oder < welche
die Groß- Kleinschreibung nicht ignorieren.
Kann mir jemand sagen ob es eine andere Möglichkeit gibt, oder ob ich dies selbst implementieren muss.
Danke im Voraus.
-
Ein guter anfang ist: http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=stricmp#Answ
Danach wird es wohl noch einer implementierung eines compareobjektes für die sort Methode benötigen.
-
Ok,
Das hilft mir weiter.
vielen Dank.
-
Du kannst ggf. die ICU verwenden um die sortierung zu machen.
-
Die erste Möglichkeit wäre es, sort() ein eigenes Sortierkriterium zu übergeben, das unabhängig von Groß- und Kleinschreibung arbeitet.
Alternativ kannst du auch die String-Klasse direkt anpassen - in meinem Magazin-Artikel über Strings (klickst du da vv) habe ich auch eine mögliche Implementation dafür vorgestellt.