TOUPPER(3) | Linux-Programmierhandbuch | TOUPPER(3) |
toupper, tolower, toupper_l, tolower_l - Klein- oder Großschreibung konvertieren
#include <ctype.h>
int toupper(int c); int tolower(int c);
int toupper_l(int c, locale_t locale); int tolower_l(int c, locale_t locale);
toupper_l(), tolower_l():
Diese Funktionen konvertieren klein geschriebene Buchstaben in groß geschriebene und umgekehrt.
Wenn c ein Kleinbuchstabe ist, gibt toupper() den entsprechenden Großbuchstaben zurück, sofern ein solcher Großbuchstabe in der aktuellen Locale existiert. Anderenfalls wird c zurückgegeben. Die Funktion toupper_l() führt die gleiche Aufgabe aus, aber verwendet die Locale, die durch das Locale-Handle locale angegeben wird.
Wenn c ein Großbuchstabe ist, gibt tolower() den entsprechenden Kleinbuchstaben zurück, sofern ein solcher Kleinbuchstabe in der aktuellen Locale existiert. Anderenfalls wird c zurückgegeben. Die Funktion tolower_l() führt die gleiche Aufgabe aus, aber verwendet die Locale, die durch das Locale-Handle locale angegeben wird.
Wenn c kein unsigned char-Wert oder EOF ist, ist das Verhalten dieser Funktionen nicht definiert.
Das Verhalten von toupper_l() und tolower_l() ist nicht definiert, wenn locale das spezielle Locale-Objekt LC_GLOBAL_LOCALE ist (siehe duplocale(3)) oder kein gültiges Locale-Objekt-Handle ist.
Der Rückgabewert ist der Wert des konvertierten Buchstabens oder c, falls keine Konvertierung möglich ist.
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert |
toupper(), tolower(), toupper_l(), tolower_l() | Multithread-Fähigkeit | MT-Safe |
toupper(), tolower(): C89, C99, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
toupper_l(), tolower_l(): POSIX.1-2008.
Die Standards verlangen, dass das Argument c für diese Funktionen entwender EOF oder ein Wert, der in dem Typ unsigned char darstellbar ist, sein muss. Falls das Argument c vom Typ char ist, muss es in unsigned char umgewandelt werden, wie in dem folgenden Beispiel:
char c; … res = toupper((unsigned char) c);
Dies ist notwendig, da char äquivalent zu signed char sein kann. In diesem Fall würde ein Byte, bei dem das höchste Bit gesetzt ist, mit einem Vorzeichen erweitert, wenn es in ein int konvertiert würde. Dies würde zu einem Wert führen, der außerhalb des Bereichs von unsigned char wäre.
Was genau einen Groß- und Kleinbuchstaben ausmacht, hängt von der Locale ab. Beispielsweise kennt die Standard-Locale »C« keine Umlaute. Darum wird bei Umlauten auch keine Konvertierung vorgenommen.
In manchen vom Englischen verschiedenen Locales existieren auch Kleinbuchstaben ohne zugehörigen Großbuchstaben, z.B. das deutsche ß.
isalpha(3), newlocale(3), setlocale(3), towlower(3), towupper(3), uselocale(3), locale(7)
Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.
Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Schmitt <fw@math.uni-sb.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Mario Blättermann <mario.blaettermann@gmail.com> und Dr. Tobias Quathamer <toddy@debian.org> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
15. September 2017 | GNU |