![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
limelight |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
Есть ли способ выводить кириллицу не сильно заморачиваясь?
В вижуал студии это легко делается c помощью setlocale(). Здесь такое не прокатывает. Мне нужно сделать так, чтобы один раз указав выводить в кириллице, далее не употреблять для этого лишних функций, а писать просто
|
|||
|
||||
nurik3 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 21.3.2010 Репутация: нет Всего: нет |
Посмотри здесь, может поможет. |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Мда... Проверил. Действительно, в MinGW 4.4.0 ни один из стандартных методов, кроме CharToOem() не работает.
Создал отчет об ошибке. |
|||
|
||||
limelight |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
bsa, здорово!
nurik3, интересная ссылка,спасибо,только посмотрю позже. |
|||
|
||||
limelight |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
Каково же дальнейшее развитие событий???
Тут в комментах написали(если пройти по ссылке): "Sorry, but I just don't see *how* the behaviour of MinGW's setlocale() *can* differ from MSVC's. MinGW doesn't provide any implementation of setlocale(), so when your code calls it, you get *Microsoft's* own implementation, in the host system's standard runtime library, MSVCRT.DLL; any difference you see would appear to result either from an error in your own code, or from a change in functionality between versions of Microsoft's implementation." С английским плохо дружу, но что это значит? что эта функция данным компилятором не поддерживается, т.к. то, что мы предъявили - это наработка Microsoft ? так неужели у MinGW нет поддержки других языков? Получается что ждать нечего? ![]() |
|||
|
||||
limelight |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
nurik3, да, отчасти помогло, НО!
В этом подходе предлагается заменить пару файлов - g++.exe и gcc.exe на g++rus.exe и gccrus.exe . Интересно, откуда взялись эти файлы, кто их создал?) К сожалению, после проделывания данных операций, скорость компиляции резко падает...Или может вообще зависнуть. |
|||
|
||||
Luyan |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 3.12.2008 Репутация: 2 Всего: 7 |
limelight, если интересует только простота вывода попробуй так:
|
|||
|
||||
limelight |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.10.2009 Репутация: нет Всего: нет |
Luyan, спасибо. Насколько я понял, здесь перегружается операция помещения в поток '<<', и таким образом происходит подмена одной кодировки другой, при помощи стандартной функции CharToOem(). Жаль только что до перегрузки операций я пока не добрался..) и еще жаль что непонятны некоторые детали. Спросил бы здесь, да вопросов будет море. Но общую мысль понял... |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Смысл ответа заключается в том, что его автор удивляется, как работа setlocale может отличаться, когда он общий - т.е. используется setlocale из стандартной библиотеки Windows. Скорее всего, MS что-то где-то подкрутила, что setlocale работает иначе. |
|||
|
||||
icebloodmos |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 17.12.2010 Репутация: нет Всего: нет |
Классный форум
![]() и среду Dev-C++ и пост Luyan мне помог. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
господа, по правде сказать, никогда не приходилось выводить в консоль русский текст. а вообще, в венде бываю очень редко. но, мне кажется, кодировка исходника в UTF-8 должна помочь. проверьте, отпишитесь.
у меня в подписи свежий mingw. проверьте и на нем. |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
boostcoder, в Windows не работает.
|
|||
|
||||
ctpz |
|
||||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 27.12.2011 Репутация: нет Всего: нет |
Ты меня выручил. Спасибо. Добавлено через 1 минуту и 35 секунд Не знаю как отблагодарить)) |
||||
|
|||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
||||
|
||||
ctpz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 27.12.2011 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |