|
|
setlocale(3c)
名前
setlocale()-プログラムのロケールの修正と照会
形式
#include <locale.h>
char *setlocale (int category, const char *locale);
機能説明
setlocale() は、プログラムのロケールの該当部分を、category および locale 引数の指定に従って選択します。category 引数には、次のいずれかの値を指定することができます。
LC_CTYPE
LC_NUMERIC
LC_TIME
LC_COLLATE
LC_MONETARY
LC_MESSAGES
LC_ALL
これらの名前は、ヘッダ・ファイル locale.h に定義されています。BEA Tuxedo ATMI システムとの互換関数の場合、setlocale() によりすべてのカテゴリにつき1つだけ locale を使用できます。どのカテゴリを設定しても、LC_ALL (プログラムのロケール全体を表す) と同じに扱われます。
locale の値 "C" はデフォルトの環境を指定します。
また、値 "" は、そのロケールを環境変数から取り出すことを表します。環境変数 LANG からロケールが判別されます。
プログラムの起動時には、次のような関数が実行されます。
setlocale(LC_ALL, "C")
この関数は、各カテゴリを環境 "C" で記述されるロケールに初期化します。
ある文字列を指すポインタが locale に対して指定されると、setlocale() はすべてのカテゴリのロケールを locale に設定しようとします。locale は1つのロケールからなる単純なロケールでなければなりません。setlocale() がカテゴリに対するロケールの設定に失敗すると、NULL ポインタが返され、すべてのカテゴリに対するプログラムのロケールは変更されません。正常に設定されれば、設定されたロケールが返されます。
locale に NULL ポインタが設定されると、setlocale() は category に対応する現在のロケールを返します。プログラムのロケールは変更されません。
マルチスレッドのアプリケーション中のスレッドは、TPINVALIDCONTEXT を含め、どのコンテキスト状態で実行していても、setlocale() の呼び出しを発行できます。
ファイル
$TUXDIR/locale/C/LANGINFO―C ロケールの時刻と通貨のデータベース
$TUXDIR/locale/locale/*―各ロケールに関する固有の情報を含むファイル
$TUXDIR/locale/C/*_CAT―ロケールのテキスト・メッセージ
注意事項
複合ロケールはサポートされていません。複合ロケールは、'' /'' で始まり、各カテゴリのロケールを '' /'' で区切ってリストした文字列です。
関連項目
UNIX システムのリファレンス・マニュアルのctime(3c)、ctype(3c)、getdate(3c)、localeconv(3c)、strftime(3c)、strtod(3c)、printf(3S)、environ(5)
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|