C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++のclocaleヘッダーファイル


タスクが与えられた場合、C++でのヘッダーファイルの使用を示すことです。

ヘッダーファイルはローカリゼーションライブラリの一部であり、さらにC++標準ライブラリの一部です。元々は、という名前のC標準ライブラリにありました。

このヘッダーファイルに含まれている関数と宣言は、さまざまな国の日付形式と通貨記号を必要とするタスクに使用されます。

ヘッダーファイルに含まれる関数は、setlocale()とlocaleconv()

です。

このヘッダーファイルで定義され、これら2つの関数で使用されるマクロは-

です。

LC_ALL ->すべてを設定します。

LC_COLLATE- >strcollおよびstrxfrm関数に影響します。

LC_CTYPE->すべてのキャラクター機能に影響します。

LC_MONETARY->localeconv関数によって提供される金銭情報に影響します。

LC_NUMERIC->小数点のフォーマットとlocaleconv関数によって提供される情報に影響します。

LC_TIME->strftime関数に影響します。

localeconv()

localeconv()関数は、場所に依存する情報を設定または読み取ります。

構文

localeconv()の構文は次のとおりです-

Struct lconv*localeconv()

setlocale()

setlocale()関数は、指定されたシステムロケールをインストールし、現在のプログラムに従ってロケール情報を設定します。

構文

setlocale()の構文は次のとおりです

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

Input: setlocale(LC_ALL, "en_GB")
s = setlocale(LC_ALL, NULL)
Output: C

setlocale()は、文字列へのポインタを返します。識別された場合はCロケールを返し、そうでない場合はnullポインタを返します。この場合は「C」を返します。

以下のプログラムで使用されるアプローチは次のとおりです

  • 最初にmain()関数内でsetlocale()関数を呼び出し、カテゴリをLC_MONETARYとして、ロケールをen_GBとして設定します。
  • 次に、charポインター(たとえばlc)を使用して構造体lconvを作成し、localeconv()関数の呼び出しと同じに保ち、localeconv()関数が作成した構造体へのポインターを返すことができるようにします。
  • printfステートメントを使用して現在の通貨を印刷します。

#include <iostream>
#include <locale.h>
using namespace std;
int main() {
   setlocale(LC_MONETARY, "en_GB");
   struct lconv* lc = localeconv();
   printf("%s ", lc->currency_symbol);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

£

出力では、英国の通貨であるポンドの通貨記号を取得します。これは、setlocale関数で、LC_MONETARYである通貨カテゴリを選択し、ロケールを「en_GB」として設定したためです。GBは英国の略語です。さらに、lconv構造を作成し、それを使用して、英国の現在の通貨記号である£を表示しました。


  1. C ++のlog()関数

    C / C++ライブラリ関数doublelog(double x)は、xの自然対数(baseelogarithm)を返します。以下はlog()関数の宣言です。 double log(double x) パラメータは浮動小数点値です。そして、この関数はxの自然対数を返します。 例 #include <iostream> #include <cmath> using namespace std; int main () {    double x, ret;    x = 2.7;    /* finding l

  2. C ++のswap()関数

    swap()関数は、2つの数値を交換するために使用されます。この関数を使用すると、2つの数値を交換するために3番目の変数は必要ありません。 C ++言語でのswap()の構文は次のとおりです。 void swap(int variable_name1, int variable_name2); 変数に値を割り当てるか、ユーザー定義の値を渡すと、変数の値が交換されますが、変数の値は実際の場所では同じままです。 これがC++言語でのswap()の例です 例 #include <bits/stdc++.h> using namespace std; int main() { &nb