wcout 和 wcerr:如何让它与 unicode 一起工作
wcout and wcerr: How to get it to work with unicode?
#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。
我按照这个得到了它。
std::setlocale(LC_ALL, "");
是魔法咒语。
这适用于我的琐碎测试程序。但是,我的完整程序仍然完全无法打印出wstrings。
这很好(好吧,不,它仍然有些令人担忧(,我将避免依赖 stdlib,并在 utfcpp 库的帮助下自己做,这非常好。这样我就可以将cout
和cerr
用于所有事情,一切都会好起来的。
相关文章:
- 如何将enable-if与模板参数和参数包一起使用
- 如何将PERF_AMPLE_READ与mmap一起使用
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- C++ - Unicode Newline
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 为什么我不能将 rand() 与数组的大小一起使用?
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 如何将unicode字符串从C++传递到delphi
- 不能将复制初始化与隐式转换的多个步骤一起使用
- 将fold表达式与std::一起用于两个元组
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 将 std::allocate_shared 与多态资源分配器一起使用
- 为什么常量词在重载运算符中不与 ostream 对象一起使用<<?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 将 exprtk 与自定义类的对象一起使用
- C++ 将 setmode 与 _O_U8TEXT 一起使用来处理 unicode 时崩溃
- 将MBCS和Unicode库链接在一起
- wcout 和 wcerr:如何让它与 unicode 一起工作
- 为什么这些 Unicode 变量名称不能与 -fextended- 标识符一起使用?"、"和≠