localeconv

ロケール (locale) 情報の取得を行います.

#include <locale.h>
struct lconv *localeconv(void);

localeconv 関数は,ロケールの詳細情報を取得します.この情報は,lconv 構造体に格納されます.

戻り値

  • lconv 構造体へのポインタ

C言語サンプルプログラム

以下に localeconv 関数を使用したサンプルプログラムを示します.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

/* main */
int main(void) {
    struct lconv *conv;

    /* ロケールを日本にセット */
    setlocale(LC_ALL, "JPN");

    /* ロケールの取得 */
    conv = localeconv();

    printf("数値形式小数点文字: %s\n", conv->decimal_point);
    printf("数値形式整数部セパレータ: %s\n", conv->thousands_sep);
    printf("\n");

    printf("国際通貨記号: %s\n", conv->int_curr_symbol);
    printf("現地通貨記号: %s\n", conv->currency_symbol);
    printf("\n");

    printf("通貨形式小数点文字: %s\n", conv->mon_decimal_point);
    printf("通貨形式整数部セパレータ: %s\n", conv->mon_thousands_sep);
    printf("\n");

    printf("負でない通貨値の符号: %s\n", conv->positive_sign);
    printf("負の通貨値の符号:%s\n", conv->negative_sign);
    printf("\n");

    printf("国際通貨の小数桁数:%d\n", conv->int_frac_digits);
    printf("通貨形式の小数桁数:%d\n", conv->frac_digits);

    return EXIT_SUCCESS;
}

実行例

サンプルプログラムの実行結果は以下のようになります.

数値形式小数点文字: .
数値形式整数部セパレータ: ,

国際通貨記号: JPY
現地通貨記号: \

通貨形式小数点文字: .
通貨形式整数部セパレータ: ,

負でない通貨値の符号: 
負の通貨値の符号:-

国際通貨の小数桁数:2
通貨形式の小数桁数:0

Cプログラマの必読書

たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.

C実践プログラミング 第3版

C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.


C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.