Scroll to navigation

uselocale(3) Library Functions Manual uselocale(3)

ИМЯ

uselocale - задаёт/получает локаль для вызывающей нити

LIBRARY

Standard C library (libc, -lc)

СИНТАКСИС

#include <locale.h>
locale_t uselocale(locale_t newloc);

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

uselocale():


Since glibc 2.10:
_XOPEN_SOURCE >= 700
Before glibc 2.10:
_GNU_SOURCE

ОПИСАНИЕ

Функция uselocale() задаёт текущую локаль в вызвавшей нити и возвращает использовавшуюся локаль в этой нити ранее. После успешного выполнения uselocale() любые выполняемые нитью вызовы функций, зависящие от локали, будут работать с учётом установленной локали newloc.

В аргументе newloc можно указать одно из следующих значений:

Обработчик, полученный от вызовов newlocale(3) или duplocale(3)
Текущая локаль вызвавшей нити будет равна указанной локали.
Специальный обработчик объекта локали LC_GLOBAL_LOCALE
Текущая локаль вызвавшей нити будет равна глобальной локали, установленной setlocale(3).
(locale_t) 0
Текущая локаль вызвавшей нити останется неизменной (и текущая локаль возвращается как результат работы функции).

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

On success, uselocale() returns the locale handle that was set by the previous call to uselocale() in this thread, or LC_GLOBAL_LOCALE if there was no such previous call. On error, it returns (locale_t) 0, and sets errno to indicate the error.

ОШИБКИ

Значение newloc не указывает на допустимый объект локали.

СТАНДАРТЫ

POSIX.1-2008.

ИСТОРИЯ

glibc 2.3. POSIX.1-2008.

ПРИМЕЧАНИЯ

В отличие от setlocale(3), uselocale() не позволяет выборочно указывать отдельные категории локали. Для задания локали, которая отличается только отдельными категориями от текущей локали, используйте вызов duplocale(3) и newlocale(3) для получения эквивалента объекта локали для текущей локали и измените желаемые категории в этом объекте.

ПРИМЕРЫ

Смотрите newlocale(3) и duplocale(3).

СМОТРИТЕ ТАКЖЕ

locale(1), duplocale(3), freelocale(3), newlocale(3), setlocale(3), locale(5), locale(7)

ПЕРЕВОД

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

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Linux man-pages 6.8