Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ C и С++ FAQ _ Русские шрифты в С++v5.2

Автор: VictorSM 12:03:2007, 22:59

Почему текстовый редактор компилятора BC 5 не понимает русских шрифтов (абракадабра вместо букв, когда что-либо русским шрифтом)? Кто что может посоветовать!

Автор: sKrew 15:03:2007, 08:42

Потому что это не русский шрифт, а русская раскладка. Поверь, имено русским шрифтом всё работает на ура...

Автор: VictorSM 15:03:2007, 23:34

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

Автор: AnEi 22:11:2007, 14:34

#include <windows.h>
#include <iostream.h>

main()
{
    char str[50];
    StrToOem(str, "Текст");
    cout<<str;
}

Автор: Ser Gun 23:11:2007, 12:30

StrToOem найти не может....

Автор: gamecreator 23:11:2007, 20:58

потому что ее не существует. если только начал изучать С++, пиши на транслите. если знаешь довольно много, переходи на оконный интерфейс

Автор: STORM(c) 25:11:2007, 08:41

Вариант 1-ий . C/C++
#include "windows.h". Создаем функцию:

void RussianMessage(char *str){
   char message[100];
   CharToOem(str,message);
   cout<<message; // или для С: puts(message); или printf("%s", message);
}


в main вызываем ее так:
...
RussianMessage("русский текст в консоли");
...


Unicode должен быть отключен в Project -> Properties -> Character Set ->
Use Multi-Byte Character Set(а не Use Unicode Character Set).

Вариант 2-ой. C++
#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;
}

Форум Invision Power Board (http://nulled.ws)
© Invision Power Services (http://nulled.ws)