非 unicode printf 不起作用
Non-unicode printf's don't work
我在我的 C++ 控制台应用程序中启用了宽字符串支持:
_setmode(_fileno(stdin), _O_WTEXT);
_setmode(_fileno(stdout), _O_WTEXT);
我现在可以使用 wprintf
(或 std::wcin
)读取和输出 unicode 字符,但正因为如此,普通的 printf
(和 std::cin
)调用不会工作,因为他们会抛出异常。有什么办法可以bypass/correct这个吗?更换它们听起来不像是解决方案。
使用wprintf
输出宽字符。
printf
不允许写入 wide/unicode 流:
我在我的 C++ 控制台应用程序中启用了宽字符串支持:
_setmode(_fileno(stdin), _O_WTEXT);
_setmode(_fileno(stdout), _O_WTEXT);
我现在可以使用 wprintf
(或 std::wcin
)读取和输出 unicode 字符,但正因为如此,普通的 printf
(和 std::cin
)调用不会工作,因为他们会抛出异常。有什么办法可以bypass/correct这个吗?更换它们听起来不像是解决方案。
使用wprintf
输出宽字符。
printf
不允许写入 wide/unicode 流: