![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
KARDAN |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.12.2005 Репутация: нет Всего: нет |
В Винде в командной строке - не коректно(абра-кадабра) отбражается русский шрифт(записаный в коде).
Использую Microsoft Visual C++ 6.0(SP6). Где в настройках, можна изменить, чтоб русский определял коректно. За рание блогадарен. P.S. Я только учюсь, по Шилдту. Первое знакомство с C++. |
|||
|
||||
Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
Самый легкий вариант - возьми какой-нибудь текстовый редактор (лично я предпочитаю Bred), и переведи в нем твой русский текст в кодировку, в которой сохраняет текст твоя IDE. По-моему, у тебя это win1251. В коде твой текст будет выглядеть абракадаброй, а в консоли - все нормально.
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
JoyEx |
|
|||
![]() Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: нет Всего: 12 |
-------------------- Если ты уже никого не боишься, значит ты самый страшный |
|||
|
||||
KARDAN |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.12.2005 Репутация: нет Всего: нет |
Хотелось бы чтоб MV C++ всё обрабатывал автоматом. ![]() Добавлено @ 10:01 JoyEx ВЫХОД 3 - был самый заманчевый но всёравно не работает ![]() Кто-нибуть знает выход с этой ситуации. ![]() |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
можно попробовать
команду командного интерпретатора chcp пример: перевод в 1251 - chcp 1251 |
|||
|
||||
KARDAN |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.12.2005 Репутация: нет Всего: нет |
Забыл написать, на машине установлена Win2k.
На картинке видно ввод команды - и вывод кадабры. Может ключ в реестре прописать(говорят помагает), что б в DOS-e кодеровку нормальло выводило. Присоединённый файл ( Кол-во скачиваний: 55 ) ![]() |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
запускай так свою программу
chcp 1251 | appname.exe и все у тебя получиться!!! Добавлено @ 11:34 или же при каждом выводе придется делать так: Пример:
|
|||
|
||||
Exekutor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: 1 Всего: 4 |
все дело в том что в Windows и в Дос кодировки символов разные. Самый простой и легкий способ - это написать собственную функцию по переводу. Создай строку символов в которой будет содержаться текст, который ты желаешь вывести на экран. Создай функцию, которая будет получать строку и возвращать строку в качестве результата. В функции пропиши кодировки символов в винде и дос. Пусть функция меняет код каждого символа полученой строки (винда) на код символа возвращаемой строки строки (дос). Используй эту функцию во всех приложениях, в которых требуется вывод русского текста на экран консоли.
-------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
нафиг изобретать велосипед? когда все уже есть CharToOem OemToChar |
|||
|
||||
Exekutor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: 1 Всего: 4 |
использование каких-то шаблонов, особенно на этапе обучения, влечет к одному - незнанию, непониманию сути. Гораздо более интерестно и полезно - попробовать решить проблему самому. Конечно, если ты крутой профессионал, ты работаешь и твое время ограничено - изобретать велосипед не самое мудрое решение.
-------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
|||
|
||||
KARDAN |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.12.2005 Репутация: нет Всего: нет |
Спосибо большое что откликнулись. Попробую все ваши предложеные варианты.
И всётаки по средствам самой Visual Studio в настройках (на подобе Tools->Options->Format->Source Windows->Font) можно ли настроить, или надо использовать дополнительные програмки ![]() |
|||
|
||||
byNet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 14.11.2005 Где: Беларусь Репутация: нет Всего: нет |
Как сделать в консоли руский язык в Builder C++ 5
|
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
точно так же
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Alex007 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.12.2005 Репутация: нет Всего: нет |
Поставь себе Visual Studio 2005 Pro ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|||
|
||||
KARDAN |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 27.12.2005 Репутация: нет Всего: нет |
Там уже есть эта возможность?
А можно скачать по инету? |
|||
|
||||
Alex007 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.12.2005 Репутация: нет Всего: нет |
По иннету можно скачать только бесплатную версию - Express Edition(урезаная версия), но спроси у кого-то может дадут пиратскую Professional ![]() ![]() ![]() ![]() |
|||
|
||||
GOLD |
|
||||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 11.12.2005 Репутация: нет Всего: нет |
Не знаю подойдет ли, но для печати по-русски в консольном приложении я написал такую функцию:
а потом
![]() |
||||
|
|||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
GOLD
Оставляя в стороне сам подход к решению: а почему не воспользоваться strlen и strcpy вместо самописных циклов? Они, как правило, очень хорошо оптимизированы на уровне маш. кодов, там далеко не банальный цикл. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Dov |
|
||||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 15 Всего: 88 |
Может я чего-то не понял, тогда извинияюсь.
В окне вывода, в свойствах устанавливаешь шрифт Lucida Console. Всё. -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
||||
|
|||||
GOLD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 11.12.2005 Репутация: нет Всего: нет |
Void Да уж! Я когда сюда вставил код, сам испугался
![]() Спасибо за замечание! Работает даже так:
|
|||
|
||||
SectoR |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
IMHO проще всего так:
|
|||
|
||||
AlexHHL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 15.1.2006 Репутация: нет Всего: нет |
Приветствую!
Вот вы пишите printf("%s",rus("Русский шрифт в консоли!")); и ещё куча примеров как в консольном приложении буквы РФ были видны, так а если в самом редакторе пишется абра-кадабра, я не вижу, что я написал русскими буквами. Настройки облазил с верху до низу!!! |
|||
|
||||
WERITAS |
|
||||
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
А я писал для себя вот такую функцию печати русских слов и до сих пор ей пользуюсь:
Применение:
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
peshite translitom 8).
Ну или что самое простое и надежное пишите в UNICODE (хотя можно и без него -- смотрите setlocale).
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Kirill89 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 501 Регистрация: 17.10.2006 Где: Питер Репутация: нет Всего: 4 |
Я что - то путаю, или можно просто использовать CharToOem?
|
|||
|
||||
WERITAS |
|
||||
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Вот тебе еще такой вариант с использованием MFC'шной строки (разумеется в Project Settings установишь Use MFC in Shared DLL):
Применение:
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
||||
|
|||||
DarthGuyver |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.11.2009 Репутация: нет Всего: нет |
Вот потратил несколько дней чтоб догнать как русский текст в консоль выводит!!!
Ниодин из способов выше не помог (CharToOem не пробовал)!!! Видел тут 2 человека выкладывали собственные функции, но у меня они тоже почемуто не попёрли! Вот написал свою функцию, кто буит пробовать. отпишитесь как она у вас пошла?
У меня заработала!! Теперь буду ей пользоваться!!! Это сообщение отредактировал(а) DarthGuyver - 15.11.2009, 01:07 |
|||
|
||||
sdukshis |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 23.3.2009 Репутация: нет Всего: 1 |
А разве подобное:
В Windows не работает? |
|||
|
||||
DarthGuyver |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.11.2009 Репутация: нет Всего: нет |
Неа!!!
|
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
DarthGuyver,
![]() Это сообщение отредактировал(а) chaos - 15.11.2009, 21:47 |
|||
|
||||
DarthGuyver |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.11.2009 Репутация: нет Всего: нет |
Ну мне не помогло!!!
|
|||
|
||||
Dronchik |
|
|||
![]() Звукач ёмаё ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 1.5.2007 Репутация: 0 Всего: 37 |
Лично я использовал всегда CharToOem. Имхо самое удобное для меня. Также естественно можно просто ставить юникод и спокойно писать русскими буквами))Способ в этом посте ихмо самый удобный)
-------------------- Вместо слов делай дело, от которого ты фанатеешь. (с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |