在C++中設(shè)置locale可以使用std::setlocale函數(shù)。這個函數(shù)的原型如下:
char* setlocale( int category, const char* locale );
其中,category參數(shù)表示要設(shè)置的locale的類別,可以是LC_ALL、LC_COLLATE、LC_CTYPE、LC_MONETARY、LC_NUMERIC或LC_TIME。locale參數(shù)是要設(shè)置的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;
}
在這個示例中,我們設(shè)置了整個程序的locale為"en_US.UTF-8",然后使用std::cout.imbue方法來應(yīng)用設(shè)置的locale。這樣就可以在輸出中使用設(shè)置的locale了。