在C++中設置locale可以使用std::setlocale函數。這個函數的原型如下:
char* setlocale( int category, const char* locale );
其中,category參數表示要設置的locale的類別,可以是LC_ALL、LC_COLLATE、LC_CTYPE、LC_MONETARY、LC_NUMERIC或LC_TIME。locale參數是要設置的locale字符串,可以是具體的locale名稱,比如"en_US.UTF-8"。
示例代碼如下:
#include <iostream>
#include <locale>
int main() {
std::setlocale(LC_ALL, "en_US.UTF-8");
std::cout.imbue(std::locale());
std::cout << "Hello, World!" << std::endl;
return 0;
}
在這個示例中,我們設置了整個程序的locale為"en_US.UTF-8",然后使用std::cout.imbue方法來應用設置的locale。這樣就可以在輸出中使用設置的locale了。