トップページ > キーワード検索 > setlocale()
C言語規格
C言語(その他)
プログラム
その他
setlocale()
機能 指定された部門における地域を設定する事を表す。
定義 #include <locale.h>

char * setlocale ( int category, const char * locale );
引数
category部門を指定。以下の部門から選択する。
部門意味
LC_ALL全部門を指定
LC_COLLATE文字列照合部門を指定。strcoll関数およびstrxfrm関数の動作に影響
LC_CTYPE文字種部門を指定。文字操作関数の動作に影響
LC_MONETARY通貨書式部門を指定。localeconv関数が返す金額の書式化に影響
LC_NUMERIC小数点文字部門を指定。入出力関数および文字列変換関数に影響
LC_TIME時間部門を指定。strftime関数およびwcsftime関数の動作に影響
locale地域を指定。NULLを指定した場合は現時点における指定部門の地域を戻り値で返す。
※既定値はCプログラムの翻訳に必要な最小の環境を表す"C"である
戻り値 指定した地域に関連付けされている文字列を返す。
指定した地域が無い場合はNULLを返す。
実装例
#include <locale.h>
#include <stdio.h>

int main(void)
{
    struct lconv *plconv;    /* setlocaleを受け取る変数の宣言 */
    char *locale;
    
    /* Cロケール環境における通貨記号の表示 */
    locale = setlocale(LC_ALL, NULL);
    plconv = localeconv();
    printf("locale='%s'\n", locale);
    printf("currency_symbol='%s'\n\n", plconv->currency_symbol);
    
    /* 日本語環境における通貨記号の表示 */
    locale = setlocale(LC_ALL, "Japanese");
    plconv = localeconv();
    printf("locale='%s'\n", locale);
    printf("currency_symbol='%s'\n\n", plconv->currency_symbol);
    
    /* 英語環境における通貨記号の表示 */
    locale = setlocale(LC_ALL, "English");
    plconv = localeconv();
    printf("locale='%s'\n", locale);
    printf("currency_symbol='%s'\n\n", plconv->currency_symbol);

    return 0;
}
実行結果
locale='C'
currency_symbol=''

locale='Japanese_Japan.932'
currency_symbol='\'

locale='English_United States.1252'
currency_symbol='$'






inserted by FC2 system