Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 422
от 07.05.2007, 22:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 406, Экспертов: 51
В номере:Вопросов: 1, Ответов: 1


Вопрос № 85152: Уважаемые эксперты! Проясните, пожалуйста, мое недоумение по следующему поводу. При попытке вывода кирилицы на консоль средствами RTL C (например функцией printf()) получаю кракозябры. При попытке вывода кирилицы в UNICODE-формате вообще ничего н...

Вопрос № 85.152
Уважаемые эксперты!
Проясните, пожалуйста, мое недоумение по следующему поводу. При попытке вывода кирилицы на консоль средствами RTL C (например функцией printf()) получаю кракозябры. При попытке вывода кирилицы в UNICODE-формате вообще ничего не получаю. При этом функции Win32 типа WriteConsole() работают корректно. Также корректно выводится английкий текст. Так что, работать с консолью традиционными средствами C в случае кирилицы нельзя? Или я что-то не так делаю? Приложение 32-разрядное. ОС Windows 2000 Server. Пробовал компиляторы VC++6 и Borland C++ 5.02. Текст программы в приложении.
И еще - где можно достать таблицы различных кодировок (ANSI, UNICODE, CP-1251, KOI8-R, ISO-8859-5 и т.д.)?
Konstantin

Приложение:

Отправлен: 02.05.2007, 22:00
Вопрос задал: M_kostik (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: John Paramol
Здравствуйте, M_kostik!
В MS-DOS, и в его эмуляции под 32-разрядной Windows используется набор символов OEM. Символы с кодами от 32 до 127 в OEM, ASCII и Windows обычно совпадают. Символы русского алфавита лежат за этими пределами и считаются спецсимволами. Они могут различаться даже у различных поставщиков OEM-оборудования.
Для корректного вывода русскоязычного текста на консоль следует воспользоваться функцией CharToOemBuff. Это 32-разрядный аналог функции AnsiToOemBuff, использовавшейся в 16-разрядной Windows. AnsiToOemBuff также остается доступна как макрос, вызывающий функцию CharToOemBuff.
В приложении пример.
Таблицы различных кодировок можно взять, если установить программу FAR, из папки FarAddonsTables
Удачи

Приложение:

---------
1=2, at values 1 large enough

Ответ отправил: John Paramol (статус: 8-ой класс)
Ответ отправлен: 03.05.2007, 20:41
Оценка за ответ: 4
Комментарий оценки:
К сожалению, в FAR'е


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 (beta) от 02.05.2007
Яндекс Rambler's Top100

В избранное