USELOCALE

Section: Linux Programmer's Manual (3)
Updated: 2020-06-09
Index JM Home Page
 

名前

setlocale - 現在のスレッドのロケール (locale) を設定/取得する  

書式

#include <locale.h>

locale_t uselocale(locale_t newloc);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

uselocale():

glibc 2.10 以降:
_XOPEN_SOURCE >= 700
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 cause of the error.  

エラー

EINVAL
newloc が有効なロケールオブジェクトを参照していない。
 

バージョン

uselocale() 関数は GNU C ライブラリのバージョン 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)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

ロケール   スレッド   locale   カテゴリー   ハンドル   previous   call   setlocale   uselocale   検査   マクロ   要件   macros   成功   依存   決定   success   handle   thread   there   sets   indicate   cause   ライブラリ   登場

Linux マニュアル 一覧

関連するコマンド・関数

setlocale.3   duplocale.3   locale.1   strcoll.3   isalnum.3   isalnum_l.3
 

Index

名前
書式
説明
返り値
エラー
バージョン
準拠
注意
例
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:07 GMT, October 11, 2026