當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。