Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2011, 17:40   #1
Anubys
Форумчанин
 
Регистрация: 08.05.2010
Сообщений: 177
По умолчанию Кириллица в CMD прорамах

Как заставить консоль показывать корректно кириллицу и возможно ли это сделать в C + + Builder. Видел такие программы хотел бы научиться такое делать
Anubys вне форума Ответить с цитированием
Старый 19.02.2011, 17:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

SetLocale(LC_ALL,"Russian") пробовал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.02.2011, 17:47   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Типа такого:

Код:
char out_buf[10]; // однобайтная строка
WideCharToMultiByte(CP_OEMCP, 0, T"кириллица", 9, out_buf, 10, null, null);
(перевёл на лету с Паскаля, смысл в том, что юникодная строка переводится в однобайтовую с кодировкой CP_OEMCP, и на экран выводится out_buf).
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 20.02.2011, 00:16   #4
Anubys
Форумчанин
 
Регистрация: 08.05.2010
Сообщений: 177
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
SetLocale(LC_ALL,"Russian") пробовал?
Матерится не знает такой функции
Anubys вне форума Ответить с цитированием
Старый 20.02.2011, 15:05   #5
genrix
просто
Форумчанин
 
Аватар для genrix
 
Регистрация: 17.02.2011
Сообщений: 405
По умолчанию

Цитата:
#include<iostream>
#include <windows.h>
using namespace std;
char s1[256];
char *rus(char *s2)
{ AnsiToOem(s2,s1);return s1; }
int main(){
char name[20];
cout<<rus("Здравствуйте,как вас зовут?")<<endl;
cout<<rus("Меня зовут ");
cin>>name;
cout<<name<<rus(" - красивое имя!")<<endl;
}
Мне тут недавно советовали вот такой код. Может поможет
Не стоит читать свои переписки двухлетней давности...
genrix вне форума Ответить с цитированием
Старый 27.02.2011, 14:18   #6
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Anubys Посмотреть сообщение
Матерится не знает такой функции
#include <locale.h>
надо подключить
An1ka вне форума Ответить с цитированием
Старый 27.02.2011, 14:36   #7
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

#include <clocale> только
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 27.02.2011, 15:25   #8
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
#include <clocale> только
Совсем не обязательно !
An1ka вне форума Ответить с цитированием
Старый 27.02.2011, 15:28   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если пишите в С++ то обязательно.(да и глупо в С++ тянуть либы с С)

что будете делать если в новом С++ компиляторе не будет совместимости с С?(и тогда вашей locale.h не будет)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.03.2011, 04:31   #10
Syn-McJ
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 11
По умолчанию

Ещё можно так:
Код:
locale loc("russian_Russia.1251");
locale::global(loc);
Подключать требуется только
Код:
#include <iostream>
using namespace std;
который скорее всего и так используется в cmd программе.

Update: А нет, в Builder такой способ не работает, жаль.

Последний раз редактировалось Syn-McJ; 03.03.2011 в 04:40.
Syn-McJ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кириллица в консоли Беня C++ Builder 7 30.12.2010 21:56
Кириллица Hemul Visual C++ 7 29.12.2010 19:38
Кириллица D.O.G БД в Delphi 4 18.10.2010 06:42
Кириллица в FoxPro 2.6 DimOn4Ik БД в Delphi 0 02.05.2010 16:24
Кириллица не подерживает? other Свободное общение 10 10.11.2009 16:47