Показать полную графическую версию : Кирилица в консоли
Вро де бы нет, проверь?
ну что никто ещё не проверил? )
Durson, прога библиотеку не спросила. Что за DLLка такая?
Durson, Нормально, кирилица работает. Конечно выкладывай, не мне так другим поможешь. Это значит ты пишешь в коде:
...
cout<<"Привет мир, добро пожаловать в мир программирования С++"<<endl;
...И всё? Больше ничего не надо? А есть такая библиотека для Borland C++Builder 6.0 :)
Блин не библиотечный файл а заголовочный. :)
И всё? Больше ничего не надо? А есть такая библиотека для Borland C++Builder 6.0 »
А эта для Microsoft Visual C++.
Выкладываю
Durson, У меня такое предупреждение выдаёт:
[C++ Предупреждение] rus.h(6): W8058 Cannot create pre-compiled header: initialized data in headerЯ что-то не так делаю?
Durson, такой файл можно написать прямо в посте, что б его и гости форума видели
#include <iostream.h>
#include <windows.h>
char* Rus1(const char* text);
char bufRus[256];
char* Rus1(const char* text){
CharToOem(text, bufRus);
return bufRus;
}
>> (http://forum.oszone.net/post-916623.html#post916623)
Ребята, подскажите как это можно прикрутить к моему Borland'y ?
Drongo, а что он ругается на этот код, если поместить его прямо в файл cpp? Сам я Borland Builder только один раз клацал, мне показалось, что откомпилированные проги на нём дают такую же скорость как и Delphi, по этому не используюсь этим компилятором C\C++. Но вопрос выбора компилятора оставим для другой темы. :wink:
Не не ругается, компилится с предупреждением, но текст всё равно иероглифами, в общем так есть папка, скажем - Folder в неё кладу файлы HelloWorld.cpp и rus.h подключаю заголовочный файл
#include <iostream.h>
#include <conio.h>
#include "rus.h"
void main()
{
cout<<" Добро пожаловать в мир программирования"<<endl;
getch();
} и всё равно ничего не помогает... как будто он его игнорирует. А если закинуть rus.h в папку Include то не ругается, но всё равно символы кривые.
Drongo, так нужно ж так cout<<Rus1(" Добро пожаловать в мир программирования")<<endl; файл то подключается, а функция Rus1() с него не задействуется.
Admiral, Точно!!!! Браво! :victory: :clapping: Как я мог так тормознуть! :laugh: Сам же подобное писал недавно:
#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;
}Так а если что, можно же попробовать заменить содержимое заголовочного файла, этим кодом? Надо попробовать, завтра!
Drongo, такое бывает у всех, ведь мы же люди.
Да конечно, всегда возможно по разносить функции по файлам, именно для этого и придумали include. Компилеру все равно, он их перед компиляцией соединяет в один и компилит целиком.
Admiral, Durson, Ну ребята! Спасибо Вам за файл и объяснения! :yahoo: :yes: :up
Сам я Borland Builder только один раз клацал, мне показалось, что откомпилированные проги на нём дают такую же скорость как и Delphi, по этому не используюсь этим компилятором C\C++. Но вопрос выбора компилятора оставим для другой темы. »
Проги написанные на Borland занимают меньше места чем программы написанные на Delphi
ак нужно ж так 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, Кстатии можно отредактировать заголовочный файл так что бы вместо Rus1("") писать Ru или Rus. »Я уже вчера так и сделал: :)
Заголовочный файл назвал - russian.h
Функцию - Rus
Единственный вопрос. В заголовочном файле russian.h есть ещё заголовочные файлы#include <iostream.h>
#include <windows.h> зачем первый, если в проге он уже имеется? Я пробовал #include <iostream.h> удалять, и без него всё работало как надо. Так зачем он там нужен?
В новую программу эти заголовочные файлы уже можно не писать :)
Durson, эти заголовочные файлы уже можно не писать »Не, этот нужен - #include <windows.h> :yes:
Не, этот нужен - #include <windows.h> »
В программе или заголовочном файле? Если в программе то почему он нужен?
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;
}
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.