此代码:
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程序在第一个例子中完美运行,但在第二个例子中没有?
示例是同一程序中的两个函数,但它们在终端上的显示方式不同?
有人可以帮忙吗?