Re: Вопрос по выводам символов в консольном окне
От: Nikita123 Россия  
Дата: 24.05.17 12:04
Оценка: +1 -1
Здравствуйте, RussianFellow, Вы писали:
RF>Есть оконное диалоговое MFC-приложение. Это приложение вызывает консольное окно, в котором выводятся результаты решения задачи.
RF>Можно ли вывести в этом консольном окне заглавную (прописную) греческую букву "дельта" -- Δ ?
RF>И можно ли вывести в этом консольном окне горизонтальную черту над латинскими буквами (например, над буквами r или v)? В том смысле, чтобы это было в одной строке?
RF>Если да, то как это можно сделать?
Это просто дичь какая-то. Зачем вы выводите результаты работы в консольное окно? Выводите результаты в одно из полей диалогового окна вашего приложения.
Или в дочернее окно диалогового окна вашего приложения. Тогда можно будет установить шрифт с нужными вам символами и выводить им греческие и другие буквы.
Желаю успеха,
Никита.
Re: Вопрос по выводам символов в консольном окне
От: acDev Россия  
Дата: 23.05.17 18:36
Оценка: 9 (1)
Здравствуйте, RussianFellow, Вы писали:

RF>Можно ли вывести в этом консольном окне заглавную (прописную) греческую букву "дельта" -- Δ ?

RF>И можно ли вывести в этом консольном окне горизонтальную черту над латинскими буквами (например, над буквами r или v)?

Возможно.
Для этого нужно сделать свой шрифт, в котором для всех нужных символов указать сочетание клавиш Alt+0xxx.
Для отображения этих символов в консоли установить нужный шрифт через WinAPI функцию.
Затем пошлите KEY EVENT в консоль: down ALT, down 0, up 0, down x ..... up x, up ALT.

Можно попробовать сразу выводить нужный символ посредством UNICODE кодировки, но у меня такой способ не прокатил (установка chcp 65001 не помогла).
Отредактировано 23.05.2017 18:37 acDev . Предыдущая версия .
Re: Вопрос по выводам символов в консольном окне
От: Evgeniy Skvortsov Россия  
Дата: 23.05.17 14:12
Оценка: -1
Здравствуйте, RussianFellow, Вы писали:

RF>Можно ли вывести в этом консольном окне заглавную (прописную) греческую букву "дельта" -- Δ ?

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

Нельзя, в консоль выводятся только символы текущей локали в которой максимум 255 символов, часть из которых не имеют графического представления
В языковых локалях первые 127 символов стандартны — ASCII, остальная часть — символы языка страны которой принадлежит локаль, ну и всякие значки.
Вопрос по выводам символов в консольном окне
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 23.05.17 06:07
Оценка:
Есть оконное диалоговое MFC-приложение. Это приложение вызывает консольное окно, в котором выводятся результаты решения задачи.

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

Если да, то как это можно сделать?
1613 г. = 2024 г.
Re: Вопрос по выводам символов в консольном окне
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 24.05.17 14:48
Оценка:
И ещё вопрос: как правильно вывести в консольное окно строку, содержащую символы Unicode?
Надо ли для этого использовать функцию WriteConsole или же достаточно использовать функцию wprintf?
И как сделать так, чтобы правильно выводились не только символы Unicode, но и символы кириллицы в такой строке в консольном окне?
1613 г. = 2024 г.
Re[2]: Вопрос по выводам символов в консольном окне
От: Evgeniy Skvortsov Россия  
Дата: 25.05.17 08:14
Оценка:
Здравствуйте, RussianFellow, Вы писали:

RF>И как сделать так, чтобы правильно выводились не только символы Unicode, но и символы кириллицы в такой строке в консольном окне?


Установить правильную локаль для консоли в зависимости от кодировки в которой у тебя сохранены исходники.
По умолчанию студия хранит в 1251 кодировке, значит надо так:
setlocale(LC_ALL, "ru-RU")
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.