考虑以下示例:
#include <iostream>
int main() {
std::cout << "abc" << std::endl;
std::wcout << L"abc" << std::endl;
std::cout << "абв" << std::endl;
std::wcout << L"абв" << std::endl;
return 0;
}
在Linux上,它的输出如下:
abc
abc
абв
012
在Windows上就像这样(注意没有最后一行):
abc
abc
рст
在两个平台上打印“абв”需要做出哪些(最小)更改?
ETA:请注意,此问题不是关于混合不同的流(删除cout
或wcout
修复任何内容),也不是关于源文件编码(读取字符串而不是硬编码它们)也没有帮助。)