Umwandlung in Kleinbuchstaben
-
Gibt es eine Möglichkeit ein eingegebnes Wort in Kleinbuchstaben umzuwandeln um es anschließend mit anderen Wörtern vergleichen zu können.
Ich wollte die Worte mit "strcmpi" vergleichen (keine Rücksichtnahme auf Groß- und Kleinschreibung). Leider hatte ich Probleme mit großen "Ö" und "Ü"...
Da dachte ich mir, wenn man erst die eingegeben Wörter in kleine Buchstaben umwandelt und sie dann vergleicht, müsste es gehen.
Wer kann mir helfen?
DANKE
-
strcmpi ist auf jeden Fall kein standard. normalerweise verwendet man tolower aus <cctype>
-
Deine Probleme mit den Umlauten wirst du dadurch nicht los.
Allerdings gab es hier im Forum eine Diskussion über solche Vergleiche in den letzten 2-3 Monaten.
Such mal danach, vielleicht hilft dir das
-
als Ergänzung zu Helium
Mit tolower und strcmp erreichst du dasselbe wie mit
_stricmp (MS VC 6.00)
strcmpi (Borland C/C++ Compiler)Die ignore Case version sind leider nicht in den Standaard eingeflossen.
-
-
HummeSikkins: Danke!
Ist zwar genau das was ich machen will, komme aber damit nicht so richtig zurecht.
Bin Anfänger - Programmiere mir Borland C++ Builder und bin der Sprache noch nicht so mächtig.
Es sollen Namen verglichen werden. Ein Name wird wie gesagt eingegeben. Die Vergleichsnamen kommen aus einer Datei die zuvor eingelesen wird.
Bein bisheriger Code zum Vergleich sah so aus:... for (i=0;i<Satzmax;i++) { char *Name1=(Edit1->Text.c_str()); char *Name2=k1[i].Name; int ptr; ptr=strcmpi(Name1,Name2); if (ptr==0) {... }...
Wo bekomme ich nun dieses tolower unter?
PAD:Danke für den Tip mit der passenden Diskussion im Forum. Habe diese aber leider noch nicht gefunden
-
Benutz einen std::string für deine Zeichenketten, dann funktioniert das std::transform auch. Ist die eleganteste Lösung.
-