BEZEICHNUNG

toupper, tolower, toupper_l, tolower_l - Klein- oder Großschreibung konvertieren

BIBLIOTHEK

Standard-C-Bibliothek ( libc, -lc)

ÜBERSICHT

#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);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):
toupper_l(), tolower_l():
    Seit Glibc 2.10:
        _XOPEN_SOURCE >= 700
    Vor Glibc 2.10:
        _GNU_SOURCE

BESCHREIBUNG

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.

RÜCKGABEWERT

Der Rückgabewert ist der Wert des konvertierten Buchstabens oder c, falls keine Konvertierung möglich ist.

ATTRIBUTE

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
 

STANDARDS

toupper(), tolower(): C99, 4.3BSD, POSIX.1-2001, POSIX.1-2008.
toupper_l(), tolower_l(): POSIX.1-2008.

ANMERKUNGEN

Die Standards verlangen, dass das Argument c für diese Funktionen entweder 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 ß.

SIEHE AUCH

isalpha(3), newlocale(3), setlocale(3), towlower(3), towupper(3), uselocale(3), locale(7)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Schmitt <[email protected]>, Martin Eberhard Schauer <[email protected]>, Mario Blättermann <[email protected]> und Dr. Tobias Quathamer <[email protected]> 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