PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : std::string in Kleinbuchstaben konvertieren


Manson
2003-07-25, 19:29:29
Hi, Ich habe einen std::string, darin habe ich einen Text, aufgrund von Vergleichsoperationen mit vom User eingegebenem Text bei dem die Groß\Kleinschreibung nicht beachtet werden soll suche ich nun nach einem Weg alle Großbuchstaben im String in Kleinbuchstaben zu konvertieren. Wie stell ich das am geschicktesten an ohne in einer if-Abfrage selbst jedes Zeichen mit allen Großbuchstaben zu vergleichen und bei Bedarf mit dem zugehörigem Kleinbuchstaben zu ersetzen?

Hume
2003-07-25, 19:41:39
Hallo,

#include <algorithm>
#include <cctype>
#include <string>
char myToUpper(char c)
{
return std::toupper(static_cast<unsigned char>(c));
}

int main()
{
std::string s("Hallo");
std::transform(s.begin(), s.end(), s.begin(), myToUpper);
}

Gruß
Hume

Manson
2003-07-25, 19:49:10
geht nicht! aus "Hallo" macht er "HALLO" und nicht "hallo"

Hume
2003-07-25, 19:51:28
Achso! :)

Hab eine kleine Leseschwäche.

char myToUpper(char c)
{
return std::tolower(static_cast<unsigned char>(c));
}

Gruß
Hume

Manson
2003-07-25, 19:52:40
danke!!!!!!!!!!!!!11111

Hume
2003-07-25, 19:53:33
;) ;) ;)

Gruß
Hume

Aqualon
2003-07-25, 19:57:17
Dann nenn die Funktion aber auch myToLower. Ne Funktion die myToUpper heisst und alles klein schreibt ist nicht wirklich logisch ;)

Aqua