当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ setlocale()用法及代码示例


C++ 中的setlocale() 函数设置当前程序的语言环境信息。

setlocale() 函数在<clocale> 头文件中定义。

setlocale()原型

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

setlocale 函数用于为给定的 category 设置指定的系统 locale 。 setlocale 函数也可用于查询当前的 C 语言环境。

这可以通过传递一个空指针来代替语言环境来完成。

参数:

  • category :指定程序的哪些语言环境信息受到影响。类别的可能宏是:
setlocale() 的类别宏
说明
LC_ALL 选择所有 C 语言环境
LC_COLLATE 选择排序规则类别
LC_CTYPE 选择字符分类类别
LC_MONETARY 选择货币格式类别
LC_NUMERIC 选择数字格式类别
LC_TIME 选择时间格式类别
  • locale :系统特定的区域设置标识符。如果它是空指针,则调用 setlocale() 会查询当前 C 语言环境。

返回:

  • 成功时,setlocale() 函数在应用更改后返回指向标识 C 语言环境的字符串的指针。
  • 失败时它返回一个空指针。

示例:setlocale() 函数如何工作?

#include <clocale>
#include <iostream>
using namespace std;

int main()
{
	char *str;
	setlocale(LC_ALL, "en_US.utf8");
	
	str = setlocale(LC_ALL, NULL);
	cout << "Current locale: " << str << endl;
	cout << "Changing locale " << endl;
	
	setlocale(LC_ALL, "en_GB.utf8");
	str = setlocale(LC_ALL, NULL);
	wcout << "Current locale: " << str << endl;
	
	return 0;
}

运行程序时,输出将是:

Current locale: en_US.utf8
Changing locale
Current locale: en_GB.utf8

相关用法


注:本文由纯净天空筛选整理自 C++ setlocale()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。