EN JA
SETLOCALE(3)
SETLOCALE(3) FreeBSD Library Functions Manual SETLOCALE(3)

名称

setlocaleC のための自然言語の書式

ライブラリ

Standard C Library (libc, -lc)

書式

#include < locale.h>

char *
setlocale( int category, const char *locale);

解説

setlocale() 関数は、特別のルーチンの集合のために、C ライブラリの自然言語書式スタイルの概念を設定します。それぞれのそのようなスタイルは、‘ロケール’と呼ばれ、C 文字列として渡される適切な名前を使って呼び出されます。

setlocale() 関数は、いくつかのルーチンのカテゴリを認識します。次は、カテゴリとカテゴリが選択したルーチンのセットです。

LC_ALL
ロケール全体を総称的に設定します。
LC_COLLATE
文字列照合ルーチンのためのロケールを設定します。これは、 strcoll() および strxfrm() でアルファベット順を制御します。
LC_CTYPE
ctype(3)multibyte(3) 関数のロケールを設定します。これは、大文字と小文字、アルファベットまたは非アルファベット文字などの識別を制御します。
LC_MESSAGES
メッセージカタログのロケールを設定します。 catopen(3) 関数を参照してください。
LC_MONETARY
通貨値の書式付けのためのロケールを設定します。これは、 localeconv() 関数に影響します。
LC_NUMERIC
数字の書式付けのためのロケールを設定します。これは、 localeconv() によって返される値と同様に printf() および scanf() のような関数で浮動小数点の入出力での小数点の書式を制御します。
LC_TIME
strftime() 関数を使用して日付と時刻の書式付けのためのロケールを設定します。

デフォルトで 3 つのロケールだけが定義されています。空の文字列 "" は、ネイティブの環境を意味します。そして "C""POSIX" ロケールは、C 言語環境を意味します。 locale 引数が NULL の場合には、 setlocale() は、現在のロケールを返します。デフォルトでは、C プログラムは、 "C" ロケールで開始します。ロケールを設定する唯一のライブラリ関数は、 setlocale() です。ロケールは、他のルーチンの副作用として変更されません。

戻り値

成功して終了すれば、 setlocale() は、要求された locale のための指定された category に関連する文字列を返します。 setlocale() 関数は、 categorylocale の与えられた組み合わせが意味をなさない場合、 NULL を返してロケールの変更は、失敗します。

関連ファイル

$PATH_LOCALE/ locale/category
/usr/share/locale/ locale/category
ロケール locale とカテゴリ category のためのロケールファイル

エラー

エラーは、定義されません。

規格

setlocale() 関数は、 ISO/IEC 9899:1999 (“ISO C99”) に適合しています。

歴史

setlocale() 関数は、 4.4BSD ではじめて登場しました。
November 21, 2003 FreeBSD