Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Кирилица в консоли

Ответить
Настройки темы
C/C++ - Кирилица в консоли

Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Drongo
Дата: 03-02-2009
Описание: Чтобы тема не разросталась. Оформлю надлежащим образом...
Как сделать, чтобы консольные проги, написанные на С++, понимали русский... Я вообще новичок в программинге, можно по подробней??? Заранее спасибо!

-------
Единственный способ изучить новую программу-пользоваться ей как можно чаще... (с)YackoN.


Отправлено: 11:02, 25-12-2003

 

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Drongo, так нужно ж так cout<<Rus1(" Добро пожаловать в мир программирования")<<endl; файл то подключается, а функция Rus1() с него не задействуется.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:39, 05-10-2008 | #31



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Admiral, Точно!!!! Браво! Как я мог так тормознуть! Сам же подобное писал недавно:
Было дело
Код: Выделить весь код
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

char* rus(char* st);

int main()
{
    int z;        

   cout<<rus("  Привет, добро пожаловать в мир программирования")<<endl;
   cin>>z;   
   return 0;
}
// Функция отображения русских символов--------------------------------------
char* rus(char* st)
{
    unsigned char* p = st;  // при объявлении символов как char русские буквы
                                      // кодируются отрицательными числами
    while( *p ){
        if(*p >= 192) // здесь русская буква
            if(*p <= 239)
               *p -= 64;
            else
               *p -= 16;
        p++;
    }
    return st;
}
Так а если что, можно же попробовать заменить содержимое заголовочного файла, этим кодом? Надо попробовать, завтра!

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 22:48, 05-10-2008 | #32


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Drongo, такое бывает у всех, ведь мы же люди.
Да конечно, всегда возможно по разносить функции по файлам, именно для этого и придумали include. Компилеру все равно, он их перед компиляцией соединяет в один и компилит целиком.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:53, 05-10-2008 | #33


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Admiral, Durson, Ну ребята! Спасибо Вам за файл и объяснения!

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 23:01, 05-10-2008 | #34


Аватара для Durson

Devil may Cry


Сообщения: 451
Благодарности: 45

Профиль | Отправить PM | Цитировать


Цитата Admiral:
Сам я Borland Builder только один раз клацал, мне показалось, что откомпилированные проги на нём дают такую же скорость как и Delphi, по этому не используюсь этим компилятором C\C++. Но вопрос выбора компилятора оставим для другой темы. »
Проги написанные на Borland занимают меньше места чем программы написанные на Delphi

Цитата Admiral:
ак нужно ж так cout<<Rus1(" Добро пожаловать в мир программирования")<<endl; »
Кстатии можно отредактировать заголовочный файл так что бы вместо Rus1("") писать Ru или Rus.
Для того что бы вместо Rus1("") писать Rus("") нужно изменить библиотечный файл:
Код: Выделить весь код
#include <iostream.h>
#include <windows.h>
char* Rus(const char* text);


char bufRus[256];
char* Rus(const char* text){
	CharToOem(text, bufRus);
	return bufRus;
}

Последний раз редактировалось Durson, 06-10-2008 в 10:51. Причина: Теги, теги

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:41, 06-10-2008 | #35


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Durson,
Цитата Durson:
Кстатии можно отредактировать заголовочный файл так что бы вместо Rus1("") писать Ru или Rus. »
Я уже вчера так и сделал:
Заголовочный файл назвал - russian.h
Функцию - Rus
Единственный вопрос. В заголовочном файле russian.h есть ещё заголовочные файлы
Код: Выделить весь код
#include <iostream.h>
#include <windows.h>
зачем первый, если в проге он уже имеется? Я пробовал #include <iostream.h> удалять, и без него всё работало как надо. Так зачем он там нужен?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 11:33, 06-10-2008 | #36


Аватара для Durson

Devil may Cry


Сообщения: 451
Благодарности: 45

Профиль | Отправить PM | Цитировать


В новую программу эти заголовочные файлы уже можно не писать

Отправлено: 12:26, 06-10-2008 | #37


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Durson,
Цитата Durson:
эти заголовочные файлы уже можно не писать »
Не, этот нужен - #include <windows.h>

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 12:50, 06-10-2008 | #38


Аватара для Durson

Devil may Cry


Сообщения: 451
Благодарности: 45

Профиль | Отправить PM | Цитировать


Цитата Drongo:
Не, этот нужен - #include <windows.h> »
В программе или заголовочном файле? Если в программе то почему он нужен?

Отправлено: 20:24, 06-10-2008 | #39


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Durson, В самом заголовочном файле нужен Тоесть так:
Вид сбоку

HelloWorld.cpp
Код: Выделить весь код
// Привет мир программирования, приветствие.
#include <iostream.h>
#include <conio.h>
#include "russian.h"

void main()
{
  cout<<Rus(" Добро пожаловать в мир программирования")<<endl;

  getch();
}
russian.h
Код: Выделить весь код
/*  #include <iostream.h> можно удалить эту строку из "russian.h"   */
#include <windows.h>

char* Rus(const char* text);
char bufRus[256];

char* Rus(const char* text)
{
   CharToOem(text, bufRus);
   return bufRus;
}

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 20:43, 06-10-2008 | #40



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Кирилица в консоли

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Кирилица на DVD Guest Хочу все знать 3 08-05-2004 14:59
Кирилица и ересь bdn Microsoft Windows 95/98/Me (архив) 3 20-01-2004 14:02
странная кирилица dreamparadise Программирование и базы данных 2 28-07-2003 12:33
Кирилица в прогах Alex VZ Общий по Linux 20 19-07-2003 17:09
Кирилица и Сидиром Pink Punk Общий по Linux 11 14-03-2003 06:03




 
Переход