Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

вывод в консоль русского символа!!??

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
ylyas



Зарегистрирован: 19.04.2007
Сообщения: 8

СообщениеДобавлено: Чт Дек 13 2007 11:52    Заголовок сообщения: вывод в консоль русского символа!!?? Ответить с цитатой

здравствуйте всем! возможно задача весьма проста, но как то не получилось у меня с ней разобраться..

вобщем есть к примеру символ
unsigned char s = 0xe0 /* что равно 224 в десятичной или букве 'а' русского алфавита, можно использовать и wint_t тип для s */

если глядеть в отладчике , то s ='а'
если я вывожу это в консоле

putwchar(s);
то получаю другой символ.
как мне сделать вывод верного символа, подскажите пожалуйста?
то что написано в хелпе дополнительно , и читал, что требуется перенаправление стандартного потока, но только я не знаю как это сделать , по сему для меня это ничего не проясняет (((
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alex_soldier



Зарегистрирован: 08.08.2007
Сообщения: 57
Откуда: Россия

СообщениеДобавлено: Чт Дек 13 2007 13:26    Заголовок сообщения: Ответить с цитатой

Прогоните в цикле диапазон и засеките, где идут русские!
_________________
Мир Идей
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ylyas



Зарегистрирован: 19.04.2007
Сообщения: 8

СообщениеДобавлено: Чт Дек 13 2007 13:37    Заголовок сообщения: Ответить с цитатой

Alex_soldier писал(а):
Прогоните в цикле диапазон и засеките, где идут русские!

к сожалению стоит другая задача, есть исходный файл , в котором используется именно такая кодировка, то есть 224-255 .
то есть на входе ц нас 16-ти ричные значения а на выходе должна быть
кириллица ))
к тому же в отладчике то я вижу верное значение.
но наверно я что то не то делаю...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Alex_soldier



Зарегистрирован: 08.08.2007
Сообщения: 57
Откуда: Россия

СообщениеДобавлено: Чт Дек 13 2007 13:41    Заголовок сообщения: Ответить с цитатой

Ну так простой заменой!
224 - А
225 - Б
..........

С выводом самих символов 'А' ... 'Я' проблем нет?
_________________
Мир Идей
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ylyas



Зарегистрирован: 19.04.2007
Сообщения: 8

СообщениеДобавлено: Чт Дек 13 2007 14:03    Заголовок сообщения: Ответить с цитатой

по моему это слишком прямолинейное решение... думаю должно быть что то более.... "грамотное". ))) возможно даже что и ответ где то на поверхности...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Чт Дек 13 2007 15:13    Заголовок сообщения: Re: вывод в консоль русского символа!!?? Ответить с цитатой

ylyas писал(а):

unsigned char s = 0xe0 /* что равно 224 в десятичной или букве 'а' русского алфавита, можно использовать и wint_t тип для s */

В какой кодировке?
В консоли виндовс используется iso866. Если не найдете библиотеку для перекодировки, можете самостоятельно сделать таблицу перекодировки или воспользоваться поиском по форуму. Эта тема здесь уже обсуждалась, кажется.
_________________
Самоловских Виталий aka Kefir
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
ylyas



Зарегистрирован: 19.04.2007
Сообщения: 8

СообщениеДобавлено: Чт Дек 13 2007 15:55    Заголовок сообщения: Re: вывод в консоль русского символа!!?? Ответить с цитатой

Kefir писал(а):
ylyas писал(а):

unsigned char s = 0xe0 /* что равно 224 в десятичной или букве 'а' русского алфавита, можно использовать и wint_t тип для s */

В какой кодировке?
В консоли виндовс используется iso866. Если не найдете библиотеку для перекодировки, можете самостоятельно сделать таблицу перекодировки или воспользоваться поиском по форуму. Эта тема здесь уже обсуждалась, кажется.


кодировка 1251-windows, что дос использует iso866 я знаю..
может быть использовать функцию charToOem() ??
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kefir



Зарегистрирован: 16.04.2005
Сообщения: 443
Откуда: Пермь

СообщениеДобавлено: Чт Дек 13 2007 16:57    Заголовок сообщения: Ответить с цитатой

Возможно.
_________________
Самоловских Виталий aka Kefir
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
tewer



Зарегистрирован: 12.02.2008
Сообщения: 1

СообщениеДобавлено: Вт Фев 12 2008 13:22    Заголовок сообщения: Ответить с цитатой

хм.. а нельзя сделать что-нибудь вроде:
system ("chcp 1251");
//...
system ("chcp 866");

или такое решение не подходит под контекст данной задачи?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...