Отображение стрелки вверх / вниз C ++ в Windows

К сожалению, из того, что я прочитал, нет шестнадцатеричного кода для стрелок вверх и вниз. Существует только «дружественный код» (см. Нижнюю часть связанной страницы). Кто-нибудь знает, как использовать этот дружественный код? В идеале я просто хочу оператор printf (), который печатает стрелку вверх или вниз. Спасибо! http://www.yellowpipe.com/yis/tools/ASCII-HTML-Characters/

0

Решение

Ответы, предполагающие, что среда Unicode вообще не будет работать с консолью Windows, потому что она не использует Unicode. Он использует кодовую страницу, чтобы определить, какие символы могут отображаться и каковы коды символов; на моей американской системе Windows 7, которая Кодовая страница 437. Вы можете видеть, что стрелки находятся вверху списка, но, к сожалению, они находятся в диапазоне управляющих символов. Это означает, что они полностью удалены из нормального вывода. Вам нужны специальные функции вывода консоли для их отображения.

Изменить: кажется, вы не нужен специальный консольный вывод, только несколько символов, таких как '\x0a' раздели Следующая строка должна печатать все 4 стрелки: "\x18\x19\x1a\x1b",

Не обращайте внимания на этот ответ, если вы используете Windows API, а не консольную программу.

3

Другие решения

Вам нужно использовать std::wstring:

#include <iostream>
#include <string>

int main()
{
std::wstring s(L"←→↑↓");
std::wcout << s << "\n";
}

Обратите внимание, что есть разница между L"←→↑↓" а также "←→↑↓", Последний является недействительным, так как ни ни и, конечно, нет а также действительные символы ASCII.

На моей машине это печатается как <-->??Возможно, потому что терминал не поддерживает символы.

0