|
|
|
| 2008/10/07 11:47||▲
|
|
|
<locale.h>で宣言される関数のうち、もう一つはsetlocaleです。この関数は、特定のカテゴリを指定したロケールに設定します。何度も書いてきましたが、とりあえずは"C"ロケールだけを実装しますので、今回は"C"ロケールにのみ対応したsetlocaleを扱うことにします。""を指定した場合も"C"ロケールになります。
#include <locale.h>
char *setlocale(int category, const char *locale) { char *result = NULL;
if (0 <= category && category <= 5) { if (locale == NULL) { result = "C"; } else { if (*locale == 'C') ++locale; if (*locale == '\0') { __lconv = &__lconv_C; result = "C"; } } } return result; }
"C"ロケール以外に対応させるには、おそらく全面的な書き直しになりますが、当面これで済ませたいと思います。
|
| 2006/02/02 00:48|文化圏固有動作|TB:0|CM:0|▲
|
|
|
コメント
|
|
コメントの投稿
|
|
|
|
|
トラックバック
|
トラックバックURLはこちら
http://libc.blog47.fc2.com/tb.php/21-3f31b899
|
|
|
|
|
ホーム
全記事一覧
<< 前の記事
次の記事 >>
|