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