在我的C ++ MFC应用程序中无法同时打印英文和西里尔字母

问题描述

我正在编写MFC应用程序。我已将操作系统的语言环境设置为保加利亚。我需要使用CString类而不是其他东西。我完成以下操作是因为这是显示西里尔字母的唯一方法。没有我,我要么没有问号,要么什么都没出现。

_setmode(_fileno(stdout),_O_U16TEXT);

这可行:

CString strTestObj2("дададада");
wprintf(L"%s",strTestObj2);

但这不是:

CString strTestObj1("String1.");
printf("%s",strTestObj1);

它给出了运行时错误。我该怎么解决

解决方法

已通过将操作系统系统区域设置为保加利亚语来解决此问题。