Scroll to navigation

TOUPPER(3) Linux-Programmierhandbuch TOUPPER(3)

BEZEICHNUNG

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

Ü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():

_XOPEN_SOURCE >= 700
_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

KONFORM ZU

toupper(), tolower(): C89, 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)

KOLOPHON

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/.

ÜBERSETZUNG

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