void RussianMessage(char *str){
char message[100];
CharToOem(str,message);
cout<<message;
}
Русский язык в С++
Я не уверен что пишу в том разделе где надо, но тем не менее помогите,пожалуйста.Как подключить русский язык в консольных приложениях в С++?
Какая операционная среда и настройки локали?
Вот именно, всякие каракули! У меня Windows XP, если ты об этом,a пишу на Microsoft Visual С++ 2005
Начем пишеш большой роли не играет. Тебе поможет функция CharToOem , или набирай текст программы в досовском редакторе.
Код:
в main вызываешь ее так
Код:
...
RussianMessage("русский текст в консоли");
...
RussianMessage("русский текст в консоли");
...
Вариант 2-ой.
Код:
#include "stdafx.h"
#include <locale>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
std::wcout.imbue(std::locale("Russian_russia.OCP"));
std::wcout << L"русский текст в консоли";
cout<<endl;
return 0;
}
#include <locale>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
std::wcout.imbue(std::locale("Russian_russia.OCP"));
std::wcout << L"русский текст в консоли";
cout<<endl;
return 0;
}
Цитата: m_Valery
Вариант 1-ий .#include "windows.h". Создаешь ф-ию
в main вызываешь ее так
Код:
void RussianMessage(char *str){
char message[100];
CharToOem(str,message);
cout<<message;
}
char message[100];
CharToOem(str,message);
cout<<message;
}
в main вызываешь ее так
Код:
...
RussianMessage("русский текст в консоли");
...
RussianMessage("русский текст в консоли");
...
У меня ничего с этом вариантом не получилось. Пишет
Код:
error C2664: 'CharToOem' : cannot convert parameter 1 from 'char *' to 'LPCWSTR'
P.S Второй вариант сработал
Project->Properties->Character Set->убери юникод, поставь
Use Multi-Byte Character Set.
m_Valery, если не трудно, запости этот вопрос с ответом в FAQ'е в разделе Студентам.