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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2017, 14:24   #1
erslgoeirjh
Форумчанин
 
Регистрация: 19.05.2009
Сообщений: 153
По умолчанию Вопрос по выводам символов в консольном окне

Есть оконное диалоговое MFC-приложение. Это приложение вызывает консольное окно, в котором выводятся результаты решения задачи.

Можно ли вывести в этом консольном окне заглавную (прописную) греческую букву "дельта" -- Δ ?
И можно ли вывести в этом консольном окне горизонтальную черту над латинскими буквами (например, над буквами r или v)? В том смысле, чтобы это было в одной строке?

Если да, то как это можно сделать?
erslgoeirjh вне форума Ответить с цитированием
Старый 23.05.2017, 14:26   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Установите там кодировку с этими символами и выводите.
p51x вне форума Ответить с цитированием
Старый 23.05.2017, 14:29   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от erslgoeirjh Посмотреть сообщение
горизонтальную черту над латинскими буквами
Только если такие символы есть в Юникоде.
Если нет, тогда надо будет рисовать самому, а если рисовать самому, тогда зачем нужна консоль...
waleri вне форума Ответить с цитированием
Старый 23.05.2017, 16:17   #4
erslgoeirjh
Форумчанин
 
Регистрация: 19.05.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Только если такие символы есть в Юникоде.
Как я понимаю, символ Δ (греческая буква "дельта" заглавная) есть в Юникоде.
А есть ли в Юникоде символ верхней горизонтальной черты (которая выводится над другим символом)?

И как устанавливается кодировка в консольном окне? (Функция setlocale или как-то иначе?)
erslgoeirjh вне форума Ответить с цитированием
Старый 23.05.2017, 16:45   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от erslgoeirjh Посмотреть сообщение
А есть ли в Юникоде символ верхней горизонтальной черты
Насколько я понимаю, должен быть такой символ, иначе будут получаться "нестандартные" символы.
Цитата:
Сообщение от erslgoeirjh Посмотреть сообщение
как устанавливается кодировка в консольном окне
Задолбаетесь кодировками играться, ибо не факт, что найдете кодировку, где будут отображены нужные символы. Проще воспользоваться Юникодными функциями для вывода в консоль.
waleri вне форума Ответить с цитированием
Старый 24.05.2017, 08:42   #6
erslgoeirjh
Форумчанин
 
Регистрация: 19.05.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Проще воспользоваться Юникодными функциями для вывода в консоль.
Не могли бы Вы назвать эти функции?
erslgoeirjh вне форума Ответить с цитированием
Старый 24.05.2017, 09:27   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
waleri вне форума Ответить с цитированием
Старый 24.05.2017, 14:43   #8
erslgoeirjh
Форумчанин
 
Регистрация: 19.05.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Функция WriteConsole.

Нужный мне символ верхней горизонтальной черты комбинированный (то есть над другим символом) имеет код U+0305 в кодировке Unicode. Как мне его правильно вывести в консольное окне при помощи функции WriteConsole?

Такой код:

Код:
HANDLE  hout = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD  dw;
WCHAR  wsym, wstr;
wsym = 0x0305;
wsprintf(wstr,L"%c",wsym);
WriteConsole(hout,wstr,lstrlen(wstr),&dw,NULL);
Этот код является правильным или нет?
Если нет, то как он должен выглядеть правильно?
erslgoeirjh вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос - почему, вызывая много раз метод repaint() в цикле, картинка в окне через некоторое время начинает моргать? Kagur Общие вопросы по Java, Java SE, Kotlin 1 17.07.2013 08:25
Вопрос по Wordpress: Видео в модальном окне. m_hamlet WordPress и другие CMS 0 10.01.2011 17:04
Управление текстовым выводам!!! Alexsey1991 Помощь студентам 0 21.04.2010 19:31
вопрос по МАССИВАМ СИМВОЛОВ(Pascal) -ushёl- Помощь студентам 6 15.03.2009 23:37