Scroll to navigation

toupper(3) Library Functions Manual 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

C11, POSIX.1-2008.
POSIX.1-2008.

HISTORIA

C89, 4.3BSD, POSIX.1-2001.
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

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: 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 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.

2 maja 2024 r. Linux man-pages (niewydane)