#include <iostream>
#include <clocale>
#include <string>
int main() {
std::setlocale(LC_ALL, "en_US.utf8");
std::wstring str(L"Τὴ γλῶσσα μοῦ ἔδωσαν");
std::wcout << str << std::endl;
std::wcerr << str << std::endl;
}
这不会在终端上产生输出。
如何让它产生UTF-8输出?我认为这应该是C ++支持的东西。
我知道我正在使用的utfcpp库,但问题是具体是否有stdlib方法可以打印出UTF8。
答案 0 :(得分:0)
我按照this得到了它。
std::setlocale(LC_ALL, "");
是神奇的咒语。
这适用于我的琐碎测试计划。然而,我的完整程序仍然完全无法打印出wstrings。
这很好(嗯,不,它仍然有些惊人),我将避免依赖stdlib,并在utfcpp库的帮助下自己完成,这非常好。通过这种方式,我可以将cout
和cerr
用于所有内容,并且一切顺利。