4.7 _findlocale()

rt_locale.h で定義される _findlocale() は、要求されたロケールに対応する一連の連続ロケールデータブロックを検索し、そのロケールを指すポインタを返します。

この関数は C ライブラリ標準にはありませんが、 ARM® C ライブラリでは拡張としてサポートされています。

構文

void const *_findlocale( void const * index, const char *name);
各項目には以下の意味があります。
インデックス
メモリ内で連続しており、終端値(LC_index_end マクロで設定)で終了する、一連のロケールデータブロックを指すポインタ。
name
検索するロケールの名前。

使用法

独自のロケール設定を定義するときに、_findlocale() をオプションヘルパ関数として使用できます。
_get_lc_ctype() などの _get_lc_*() 関数は、アセンブラマクロを使用して作成されたロケール定義を指すポインタを返します。1 つのロケール定義のみを記述する場合、常に同じポインタを返す _get_lc_ctype() の実装を記述できます。ただし、実行時に異なるロケールを使用する場合は、_get_lc_*() 関数が、引数として渡された名前に応じて別のデータブロックを返すことができる必要があります。_findlocale() は、これを実行する簡単な方法です。

戻り値

要求されたデータブロックを指すポインタを返します。
関連する概念
1.9 C ライブラリでのロケール関数をカスタマイズするためのアセンブラマクロ
1.9.2 C ライブラリのロケールサブシステムの実行時における選択
関連する参考文書
4.14 lconv 構造体
4.9 _get_lconv()
4.15 localeconv()
4.30 setlocale()
1.9.1 C ライブラリのロケールサブシステムのリンク時における選択
1.9.3 C ライブラリのロケールデータブロックの定義
非機密扱いPDF file icon PDF 版ARM DUI0808CJ
Copyright © 2014, 2015 ARM.All rights reserved.