Форум программистов, компьютерный форум, киберфорум
Van111
Войти
Регистрация
Восстановить пароль
Карта форума Блоги Сообщество Поиск Заказать работу  
Рейтинг: 5.00. Голосов: 2.

Русские буквы в консоли, с++. Экзотический вариант

Запись от Van111 размещена 16.10.2013 в 20:36
Обновил(-а) Van111 18.10.2013 в 20:17

если по каким либо причинам вы всё таки не смогли сделать русские буквы с помощью setlocal, а вариант функции rus, обёртки для CharToOem вам не подходит - тогда вам сюда!
решив перейти на Code::Blocks я столкнулся с этой проблемой, и вот просидев два битых часа, я всё же решил её. Моё решение сохранило изящество cout и cin. Но есть один минус - если вам понадобится использовать файл iostrream и данное решение , то вы должны будете проследить чтобы не было перекрытия имён между обычным cin/cout и русифицированным .
Вот собственно код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef COUT_RUS_H
#define COUT_RUS_H
#include <iostream>
#include <windows.h>
namespace rus
{
    class Ccout: public std::ostream
    {
    public:
        Ccout& operator << (const  char *s )
        {
            char buf[256];
            CharToOem(s,buf);
            std::cout << buf;
            return *this;
        }
 
        Ccout(){}
        ~Ccout(){}
 
    }cout;
 
    class Ccin: public std::istream
    {
        public:
        Ccin(){}
        ~Ccin(){}
    }cin;
}
#endif // COUT_RUS_H
я не стал его разбивать на два файла так , как он элементарен, и состоит из 30 строк
Размещено в Без категории
Показов 2607 Комментарии 1
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Аватар для Avazart
    А применение ?
    Кроме char кстати есть еще wchar_t, std::string и std::wstring может стоит шаблоном сделать ?
    Запись от Avazart размещена 22.01.2014 в 12:48 Avazart вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru