在贴吧里看到一个求助的, 他是这么做的:
char month[] = {"一月", "二月", ......}; //我就不写全了
然后表示为何出错. 我觉得这算是宽字符, 所以改成了:
wchar_t month[] = {L"一月", .....}; //没错我连第二个都懒得打
感觉就万事大吉了, 怎样呢? 来个 std::cout << month[1] << std::endl; 看看, 输出是什么呢? 答案是 nothing, 啥都没有.
有些事情百度知道还是要比知乎简单暴力的, 在看了百度知道的回答之后, 明白还要加一个
std::wcout.imbue (std::locale ("chs"));
唉, 原来是 C++ 国际化的问题, 是要仔细看一下了.
时间: 2024-11-03 20:47:39