Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       toupper, tolower, toupper_l, tolower_l - преобразуют регистр символов

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #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);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       toupper_l(), tolower_l():
           Since glibc 2.10:
               _XOPEN_SOURCE >= 700
           Before glibc 2.10:
               _GNU_SOURCE

ОПИСАНИЕ

       Эти функции преобразуют строчные символы в заглавные и наоборот.

       Если  c  — строчная буква, то toupper() возвращает её заглавный эквивалент, если он есть в
       текущей локали. В противном случае возвращается c. Функция  toupper_l()  выполняет  ту  же
       задачу, но использует локаль, на которую ссылается описатель локали locale.

       Если  c  — заглавная буква, то tolower() возвращает её строчный эквивалент, если он есть в
       текущей локали. В противном случае возвращается c. Функция  tolower_l()  выполняет  ту  же
       задачу, но использует локаль, на которую ссылается описатель локали locale.

       Если c имеет значение не типа unsigned char или не равно EOF, то поведение этих функций не
       определено.

       Поведение toupper_l() и tolower_l() не определено, если значение locale равно специальному
       объекту  локали  LC_GLOBAL_LOCALE  (смотрите  duplocale(3))  или  некорректному  описателю
       объекта локали.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Возвращаемым  значением  является  преобразованная  буква  или  c,   если   преобразование
       невозможно.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌───────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ИнтерфейсАтрибутЗначение │
       ├───────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │toupper(), tolower(), toupper_l(), tolower_l()         │ Безвредность в нитях │ MT-Safe  │
       └───────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

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

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

ЗАМЕЧАНИЯ

       Стандартами  требуется,  что  аргумент  c  этих функций равнялся EOF или значению, которое
       представимо типом unsigned char. Если аргумент c имеет тип char, то он должен  приводиться
       к unsigned char как в следующем примере:

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

       Это  необходимо,  так  как  char  может  быть  эквивалентен  signed  char,  и если у байта
       установлен  старший  знаковый  бит,  то  он  учитывается  при  приведении  к  int  и  байт
       превращается в значение, выходящее за границу unsigned char.

       Особенности подстановки строчных и прописных букв зависят от локали. Например, в локали по
       умолчанию "C" ничего не сказано про умляуты, поэтому они не преобразовываются.

       В некоторых не английских  локалях  существуют  строчные  буквы  без  заглавного  аналога;
       например немецкая sharp.

СМ. ТАКЖЕ

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

ПЕРЕВОД

       Русский    перевод    этой    страницы    руководства    был    сделан   Azamat   Hackimov
       <azamat.hackimov@gmail.com>,  Dmitry  Bolkhovskikh  <d20052005@yandex.ru>,   Yuri   Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.