C/C++ - Кирилица в консоли

Ответить
 • Просмотры: 2
Аватара пользователя
Durson

Re: C/C++ - Кирилица в консоли

Сообщение Durson »

Drongo, так нужно ж так cout
Аватара пользователя
Drongo

Re: C/C++ - Кирилица в консоли

Сообщение Drongo »

Durson, У меня такое предупреждение выдаёт:



Код:

Код: Выделить всё

[C++ Предупреждение] rus.h(6): W8058 Cannot create pre-compiled header: initialized data in header

Я что-то не так делаю?
Аватара пользователя
Admiral

Re: C/C++ - Кирилица в консоли

Сообщение Admiral »

Drongo, такое бывает у всех, ведь мы же люди.

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

Re: C/C++ - Кирилица в консоли

Сообщение Drongo »

Ребята, подскажите как это можно прикрутить к моему Borland'y ?
Аватара пользователя
Admiral

Re: C/C++ - Кирилица в консоли

Сообщение Admiral »

Цитата Admiral:



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




Проги написанные на Borland занимают меньше места чем программы написанные на Delphi




Цитата Admiral:



ак нужно ж так cout

Код: Выделить всё

#include <iostream.h>
#include <windows.h>
char* Rus(const char* text);
char bufRus[256];
char* Rus(const char* text){
	CharToOem(text, bufRus);
	return bufRus;
}
Аватара пользователя
Drongo

Re: C/C++ - Кирилица в консоли

Сообщение Drongo »

Durson,
Цитата Durson:



Кстатии можно отредактировать заголовочный файл так что бы вместо Rus1("") писать Ru или Rus.
C/C++ - Кирилица в консоли




Я уже вчера так и сделал:

Заголовочный файл назвал - russian.h


Функцию - Rus

Единственный вопрос. В заголовочном файле russian.h есть ещё заголовочные файлы

Код:

Код: Выделить всё

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

зачем первый, если в проге он уже имеется? Я пробовал #include [/i] удалять, и без него всё работало как надо. Так зачем он там нужен?
Аватара пользователя
Drongo

Re: C/C++ - Кирилица в консоли

Сообщение Drongo »

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;
}
Так а если что, можно же попробовать заменить содержимое заголовочного файла, этим кодом? Надо попробовать, завтра!
Аватара пользователя
Admiral

Re: C/C++ - Кирилица в консоли

Сообщение Admiral »

Durson,
Цитата Durson:



эти заголовочные файлы уже можно не писать
C/C++ - Кирилица в консоли




Не, этот нужен - #include Изображение
Аватара пользователя
Drongo

Re: C/C++ - Кирилица в консоли

Сообщение Drongo »

Цитата Drongo:



Не, этот нужен - #include
C/C++ - Кирилица в консоли




В программе или заголовочном файле? Если в программе то почему он нужен?
Аватара пользователя
Durson

Re: C/C++ - Кирилица в консоли

Сообщение Durson »

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


Вид сбоку




HelloWorld.cpp


Код:

Код: Выделить всё

// Привет мир программирования, приветствие.
#include 
#include 
#include "russian.h"
void main()
{
  cout

russian.h[/i]

Код:

Код: Выделить всё

/*  #include  можно удалить эту строку из "russian.h"   */
#include 
char* Rus(const char* text);
char bufRus[256];
char* Rus(const char* text)
{
   CharToOem(text, bufRus);
   return bufRus;
}
Ответить

Вернуться в «Программирование и базы данных»