西班牙语

时间:2016-01-16 08:23:50

标签: c++ c++11

此代码:

void ascii_es() {
    std::vector<int> list;
    std::wstring a;

    list.push_back( 160 );
    list.push_back( 181 );
    list.push_back( 130 );
    list.push_back( 144 );
    list.push_back( 161 );
    list.push_back( 214 );
    list.push_back( 162 );
    list.push_back( 224 );
    list.push_back( 168 );
    list.push_back( 164 );
    list.push_back( 165 );
    list.push_back( 163 );
    list.push_back( 233 );
    for(auto i : list) {
        a = i;
        wcout << L"Alt + " << i << L": " << a << std::endl;
    }
}

很好地在我的Win10控制台上显示所有西班牙语字母,但是这段代码

void DisplayEs() {
    std::locale myLoc;

    std::locale es("ES");
    std::locale::global(es);
    std::wcout.imbue(es);

    std::wcout << L"Has escogido Espa" << static_cast<char>(164) << "ol" << std::endl;

    std::locale::global(myLoc);
    std::wcout.imbue(myLoc);
}

根本不显示字母ñ(Alt + 164)。

我的问题是,为什么我的VC ++ - 12程序在第一个例子中完美运行,但在第二个例子中没有?

示例是同一程序中的两个函数,但它们在终端上的显示方式不同?

有人可以帮忙吗?

0 个答案:

没有答案