可能是重复问题:
我在Visual Studio 2008中看不到俄语字母
我正在尝试从控制台输入用俄语字母编写的符号。这是代码:
#include <iostream>
#include <windows.h>
#include <locale.h>
using namespace std;
void main(){
char c;
setlocale(LC_ALL,"rus");
cout << "Я хочу видеть это по-русски!" << endl;
cin >> c;
cout << c;
}
我输入了 'ф',但它输出的是 'д'。我尝试使用 。
char buf[2];
char str[2];
str[0] = c;
str[1] = '\0';
OemToAnsi(buf, str);
但是我有
+ str 0x0015fef4 "¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ф¦¦¦¦d §" char [2]
+ buf 0x0015ff00 "¦¦¦ф¦¦¦¦d §" char [2]
然后我遇到了一个错误,运行时检查失败#2——变量'str'周围的堆栈已被破坏。
std::wcout
和std::wcin
)? - Some programmer dude