Официальный сайт студ.городка НГТУ
Программирование и БД » как на С++ сделать русское меню 

#1  24.11.06 19:50

как на С++ сделать русское меню

я знаю что можно пару строк написать и русское меню делать, вроде написала, что нада а не получается(( подскажи, пожалуйста, как быть??

Offline

#2  24.11.06 20:13

Re: как на С++ сделать русское меню

мммм.....ну я на маленькой програмке пробовала...а надо большую облагородить))
неписала следующее:
void tx(const char*s)
{
    char temp_str[80];
    CharToOem(s,temp_str);
    cout<<temp_str;
}
в header

Offline

#3  24.11.06 20:31

Re: как на С++ сделать русское меню

c++ - это вражеская технология и он специально несовместим с русским языком на уровне кодировки. это ограничение можно обойти при помощи хитрости и смекалки, т.е. можно сделать вот так: "etot tekst napisan toje po-russki!"

Offline

#4  24.11.06 20:34

Re: как на С++ сделать русское меню

на первый взгляд всё правильно

Mozg_RUS написал(а):

что не работает?

Исправлено Fatboy (24.11.06 20:36)

Offline

#5  24.11.06 20:42

Re: как на С++ сделать русское меню

этот перевод и не работает((выдаёт следующее (за место привет):
╧ЁштхЄшъ))

Offline

#6  24.11.06 20:43

Re: как на С++ сделать русское меню

Укроп написал(а):

-Kleopatra-,  перекодируй сообщение с windows на OEM типо тово.. в фаре можно

Это не я бляяя...

Offline

#7  24.11.06 20:52

Re: как на С++ сделать русское меню

хм.. 6-ая студия

Код: cpp:

#include <iostream>
#include <Windows.h>
using namespace std;
 
void tx(const char*s)
{
    char temp_str[80];
    CharToOem(s,temp_str);
    cout<<temp_str;
}
 
void main() 
{ 
    tx("Привет!"); 
}
ftp://begemot.hostel.nstu.ru/Upload/pix/out.PNG

Offline

#8  24.11.06 20:53

Re: как на С++ сделать русское меню

попробуй в настройках консольного окна поставить шрифт "Luicida Console"

Offline

#9  24.11.06 21:56

Re: как на С++ сделать русское меню

ух ты))))спасибо большое)))))))))))))))можно двигаться дальше)))

Offline

#10  24.11.06 22:49

Re: как на С++ сделать русское меню

Я делал проще: писал свой оператор:

Код::

 Если подключено MFC
ostream& operator << (ostream &qq,char*s)
{CString cs(s);cs.AnsiToOem();qq<<(const char*)cs;return qq;}

Код::

или без него:
const buffsize=200;
char _BUFF__[buffsize];
char*windos(char*s)
{for(int i=0;s[i] && i<buffsize;i++)
	{_BUFF__[i]=s[i];
	 if(s[i]=='Ё')				 _BUFF__[i]='р';
	 if(s[i]=='ё')				 _BUFF__[i]='с';
	 if(s[i]>='р' && s[i]<='я')	 _BUFF__[i]=s[i]-16;
	 if(s[i]>='А' && s[i]<='п')	 _BUFF__[i]=s[i]-64;
	}
 if(i<buffsize){_BUFF__[i]=0;return _BUFF__;} return s;
}
ostream & operator << (ostream &qq,char*str) {qq<<(const char*)windos(str);return qq;}

и затем cout<<"Русский текст"; выводил уже всё как надо. Прозрачное перекодирование.

Offline

Программирование и БД » как на С++ сделать русское меню 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.504 сек.
Выполнено 14 запросов.