在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了。