C++:
Umformung eines Strings in Kleinbuchstaben
So geht’s:
Mit C++ kannst du die Standardbibliothek <algorithm>
und die Funktion std::transform()
nutzen, um eine Zeichenfolge effektiv in Kleinbuchstaben umzuwandeln. Hier ist ein einfaches Beispiel, wie das funktioniert:
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
int main() {
std::string text = "Hallo, Welt!";
std::transform(text.begin(), text.end(), text.begin(),
[](unsigned char c) -> unsigned char { return std::tolower(c); });
std::cout << text << std::endl; // Ausgabe: hallo, welt!
return 0;
}
Tiefgang:
Früher musste man oft die C-Funktion tolower
aus der Bibliothek <ctype.h>
verwenden und jeden Buchstaben der Zeichenfolge einzeln umwandeln. Mit der C++-Standardbibliothek ist die Umwandlung viel einfacher und kann mit der Funktion std::transform()
zusammen mit std::tolower()
durchgeführt werden. Es gibt Alternativen wie das Schreiben einer eigenen Schleife oder die Verwendung von Dritt-Bibliotheken, aber std::transform()
ist eine elegante und idiomatiche C++-Lösung. Dabei ist zu beachten, dass std::tolower()
aus <cctype>
Lokalisierungsabhängig sein kann, für rein ASCII-basierte Transformationen ist das jedoch meist unproblematisch.
Siehe auch:
- C++ Referenz für
std::transform()
: https://en.cppreference.com/w/cpp/algorithm/transform - C++ Referenz für
std::tolower()
: https://en.cppreference.com/w/cpp/string/byte/tolower - Informationen zur Zeichenlokalisierung in C++: https://en.cppreference.com/w/cpp/locale/locale