Показать полную графическую версию : Русские текст в консольных приложениях C++
Я начиная осваивать С++. Решил начать *c Microsoft Visual С++ 6.0. Создал консольное приложение которые выводи на экран что-то на русском языке (с помощью обыкновенного cout <<). При запуске из среды С++ вместо русских букв на экране абра-кадабра. Что нужно сделать? Работаю в Win2000 SP-3.
vasketsov
09-07-2003, 18:30
wsetlocale/setlocale по-моему тебе поможет. это из CRT, например, из msvcrt.dll
все очень просто: надо создать масив чаров, вписать что в него нужно, а потом с помощью функции CharToOem(ch1, ch2) переконвертировать, и в cout<< вывести ch1. Как точно эта функция работает я уже не помню смотри в МСДН
Работает в билдере 6:
//---------------------------------------------------------------------------
#include <iostream.h>
#include <windows>
#include <conio.h>
#include <string>
//---------------------------------------------------------------------------
string Rus(const char * text);
char Buf[2048];
int main()
{ cout<<Rus("Привет")<<endl;
cout<<Rus("Нажмите любую клавишу")<<endl;
getch();
return 0;
}
//---------------------------------------------------------------------------
string Rus(const char * text)
{ CharToOem(text,Buf);
return string(Buf);
}
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.