C++ 中的 <clocale> 標頭檔案
給定的任務是展示如何在 C++ 中使用 <clocale> 標頭檔案。
<clocale> 標頭檔案是本地化庫的一部分,而本地化庫又是 C++ 標準庫的一部分。最初,它在 C 標準庫中,名稱為 <locale.h>。
此標頭檔案中包含的函式和宣告用於需要不同國家/地區的日期格式和貨幣符號的任務。
<clocale> 標頭檔案中包含的函式是 setlocale() 和 localeconv()
在此標頭檔案中定義並在這兩個函式中使用的宏為:
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 區域設定,則返回指向字串的指標,否則返回空指標,在本例中返回“C”。
下面程式中使用的方案如下:
- 首先在 main() 函式內部呼叫 setlocale() 函式,並將類別設定為 LC_MONETARY,並將區域設定設定為 en_GB。
- 然後建立結構 lconv,帶有字元指標,例如 lc,並將其保持等於 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 結構並將其用於顯示英國的當前貨幣符號,即 £。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP