任何地区的C ++ setlocale

时间:2017-01-15 13:49:30

标签: c++ setlocale

我已经编写了一个用于测试目的的小程序,因为在使用cout时,德语字母üöäß未显示为应该显示,而是在控制台上发出垃圾。但是,使用这些行

#include <iostream>
#include <locale>

using namespace std;

int main()
{
    setlocale(LC_ALL, "German");
    cout << "üüü ööö äää ßßß" << '\n';
    system("pause");
    return 0;
}

已经解决了这个问题,至少就德语字母而言。当我为俄语尝试相同的时候,我。即

#include <iostream>
#include <locale>

using namespace std;

int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    cout << "Кирилица" << '\n';
    system("pause");
    return 0;
}

这不再适用了。这里出了什么问题?我错过了关于setlocale函数的一些内容吗?我的目标是使相应的程序适应所使用的书写系统,例如西里尔语,如aboe或中文或其他。

1 个答案:

答案 0 :(得分:1)

对于德语 -> std::setlocale(LC_ALL, "de_DE");
对于俄语 -> std::setlocale(LC_ALL, "rus");