BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedoホーム   |   BEA Tuxedo C リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


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―ロケールのテキスト・メッセージ

注意事項

複合ロケールはサポートされていません。複合ロケールは、'' /'' で始まり、各カテゴリのロケールを '' /'' で区切ってリストした文字列です。

関連項目

mklanginfo(1)

UNIX システムのリファレンス・マニュアルのctime(3c)、ctype(3c)、getdate(3c)、localeconv(3c)、strftime(3c)、strtod(3c)、printf(3S)、environ(5)

 

先頭へ戻る 前のトピックへ 次のトピックへ