【发布时间】:2018-09-07 00:40:00
【问题描述】:
我在我的 C++ 控制台应用程序中启用了宽字符串支持:
_setmode(_fileno(stdin), _O_WTEXT);
_setmode(_fileno(stdout), _O_WTEXT);
我现在可以使用wprintf(或std::wcin)很好地读取和输出Unicode 字符,但正因为如此,普通的printf(和std::cin)调用将无法正常工作,因为它们会引发异常。有没有办法绕过/纠正这个?更换它们听起来不是一个解决方案。
【问题讨论】:
-
使用
_O_TEXT和_O_WTEXT在ANSI 和UNICODE 之间来回切换。_setmode(_fileno(stdout), _O_TEXT)会将输出设置回 ANSI
标签: c++ windows unicode visual-studio-2015 console-application