Latest web development tutorials

Cライブラリ関数 - のsetlocale()

C標準ライブラリ -  <locale.hに> C標準ライブラリ- <locale.hに>

説明

Cライブラリ関数は、*はsetlocale(int型のカテゴリ、constのchar型のchar *ロケールを)ローカルな情報を設定したり、読むために。

声明

次は、ステートメントはsetlocale()関数です。

char *setlocale(int category, const char *locale)

パラメータ

  • カテゴリ-これは、ロケールに影響を与える機能のカテゴリを指定する名前付き定数です。
    • LC_ALLは、以下のすべてのオプションが含まれています。
    • LC_COLLATE文字列の比較。たstrcoll()を参照してください。
    • LC_CTYPE文字の分類と変換。たとえばstrtoupper()の。
    • localeconvためLC_MONETARY通貨形式()。
    • localeconvためLC_NUMERIC小数点記号()。
    • strftimeのためのLC_TIME日付と時刻の形式()。
    • LC_MESSAGESシステムの応答。
  • ロケール-ロケールがNULLまたは空の文字列の場合は""、ゾーンは上記のカテゴリと同じ名前の名前である環境変数の値の名前に応じて設定されます。

戻り値

呼び出しが成功し、setlocale()の場合は、対応するロケール不透明な文字列を返します。 要求が無効である場合、戻り値はNULLです。

次の例では、はsetlocale()関数が使用されている示しています。

#include <locale.h>
#include <stdio.h>
#include <time.h>

int main ()
{
   time_t currtime;
   struct tm *timer;
   char buffer[80];

   time( &currtime );
   timer = localtime( &currtime );

   printf("Locale is: %s\n", setlocale(LC_ALL, "en_GB"));
   strftime(buffer,80,"%c", timer );
   printf("Date is: %s\n", buffer);

  
   printf("Locale is: %s\n", setlocale(LC_ALL, "de_DE"));
   strftime(buffer,80,"%c", timer );
   printf("Date is: %s\n", buffer);

   return(0);
}

それでは、以下になります上記のプログラムを、コンパイルして実行してみましょう:

Locale is: en_GB
Date is: Thu 23 Aug 2012 06:39:32 MST
Locale is: de_DE
Date is: Do 23 Aug 2012 06:39:32 MST

C標準ライブラリ -  <locale.hに> C標準ライブラリ- <locale.hに>