#include <iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE,"Russian");
cout << "Этот текст будет каракулями";
return 0;
}
Немогу понять, как сделать, чтобы была поддержка OEM.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_CTYPE,"Russian");
cout << "Этот текст будет каракулями";
return 0;
}
Немогу понять, как сделать, чтобы была поддержка OEM.
#include <iostream>
#include <windows.h>
using namespace std;
char* convert(char* str)
{
char* s;
CharToOemA(str, s); // Функция и конвертация.
return s;
}
int main()
{
cout<<convert("Привет Мир!!!");
cin.get();
return 0;
}
Для того, чтобы в консоли выводился русский текст, надо использовать кодировку Cp866. Не знаю, как в C++ кодировку изменить но, думаю, идея поможет.
Нормально отработало на Mac OS X и на Debian GNU/Linux... В винде помню ставил просто setlocale(0,""); и все работало хорошо.
Если ты пишешь в Visual Studio, то есть такой способ
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
cout << "Этот текст будет нормальным, если после компиляции и запуска ты в свойствах консоли поменяешь шрифт на Lucida Console";
return 0;
}
stdafx.h это стандартная библиотека для VS.
WTF!?!?!? это файл из проекта, а не часть стандартной библиотеки
– gecube Jun 29 '11 at 20:47