toupper(3)

NAZWA
toupper, tolower, toupper_l, tolower_l - przekształca literę na wielką lub małą

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#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);

    Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

toupper_l(), tolower_l():
    Od glibc 2.10:
        _XOPEN_SOURCE >= 700
    Przed glibc 2.10:
        _GNU_SOURCE

OPIS
Te funkcje przekształcają małe litery na wielkie i na odwrót.

Jeśli c jest małą literą toupper() zwraca jej odpowiednik będący wielką literą, jeśli tylko istnieje on w bieżących ustawieniach regionalnych (locale). W przeciwnym razie zwraca c. Funkcja toupper_l() służy temu samemu celowi, lecz używa ustawień regionalnych ustawionych w locale.

Jeśli c jest wielką literą tolower() zwraca jej odpowiednik będący małą literą, jeśli tylko istnieje on w bieżących ustawieniach regionalnych (locale). W przeciwnym razie zwraca c. Funkcja tolower_l() służy temu samemu celowi, lecz używa ustawień regionalnych ustawionych w locale.

Jeśli c nie ani jest wartością unsigned char ani nie ma wartości EOF, zachowanie tych funkcji jest nieokreślone.

Zachowanie toupper_l() i tolower_l() jest niezdefiniowane, jeśli locale jest specjalnym obiektem locale LC_GLOBAL_LOCALE (więcej informacji w duplocale(3)) lub nie jest prawidłowym locale.

WARTOŚĆ ZWRACANA
Zwracana jest wartość przekształconej litery lub c, gdy przekształcenie nie jest możliwe.

ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs | Atrybut | Wartość
toupper(), tolower(), toupper_l(), tolower_l() | Bezpieczeństwo wątkowe | MT-bezpieczne

STANDARDY

toupper()
tolower()
    C11, POSIX.1-2008.

toupper_l()
tolower_l()
    POSIX.1-2008.

HISTORIA

toupper()
tolower()
    C89, 4.3BSD, POSIX.1-2001.

toupper_l()
tolower_l()
    POSIX.1-2008.

UWAGI
Standard wymaga, aby argumentem c tych funkcji było albo EOF, albo wartość reprezentowalna w typie unsigned char. Jeśli argument c ma typ char, musi rzutować na unsigned char, jak w poniższym przykładzie:

    char c;
    ...
    res = toupper((unsigned char) c);

Jest to konieczne, ponieważ char może być odpowiednikiem signed char; w takim przypadku bajt, w którym górnym bit jest ustawiony, przy konwersji do int, miałby swój znak rozszerzony, co dałoby wartość poza zakresem unsigned char.

Co dokładnie stanowi wielkie i małe litery, zależy od ustawień regionalnych. Na przykład domyślne ustawienia regionalne "C" nie znają umlautów, więc nie jest wykonywane ich przekształcenie.

W niektórych nieangielskich ustawieniach regionalnych występują małe litery bez odpowiadających im liter wielkich; niemieckie ostre s jest jednym z przykładów.

ZOBACZ TAKŻE
isalpha(3), newlocale(3), setlocale(3), towlower(3), towupper(3), uselocale(3), locale(7)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.