table of contents
- bullseye-backports 4.17.0-2~bpo11+1
- testing 4.17.0-2
- unstable 4.17.0-2
TOUPPER(3) | Руководство программиста Linux | TOUPPER(3) |
ИМЯ¶
toupper, tolower, toupper_l, tolower_l - преобразуют регистр символов
СИНТАКСИС¶
#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);
toupper_l(), tolower_l():
- Начиная с glibc 2.10:
- _XOPEN_SOURCE >= 700
- До 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(): C89, 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)
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
15 сентября 2017 г. | GNU |