К сожалению, из того, что я прочитал, нет шестнадцатеричного кода для стрелок вверх и вниз. Существует только «дружественный код» (см. Нижнюю часть связанной страницы). Кто-нибудь знает, как использовать этот дружественный код? В идеале я просто хочу оператор printf (), который печатает стрелку вверх или вниз. Спасибо! http://www.yellowpipe.com/yis/tools/ASCII-HTML-Characters/
Ответы, предполагающие, что среда Unicode вообще не будет работать с консолью Windows, потому что она не использует Unicode. Он использует кодовую страницу, чтобы определить, какие символы могут отображаться и каковы коды символов; на моей американской системе Windows 7, которая Кодовая страница 437. Вы можете видеть, что стрелки находятся вверху списка, но, к сожалению, они находятся в диапазоне управляющих символов. Это означает, что они полностью удалены из нормального вывода. Вам нужны специальные функции вывода консоли для их отображения.
Изменить: кажется, вы не нужен специальный консольный вывод, только несколько символов, таких как '\x0a'
раздели Следующая строка должна печатать все 4 стрелки: "\x18\x19\x1a\x1b"
,
Не обращайте внимания на этот ответ, если вы используете Windows API, а не консольную программу.
Вам нужно использовать std::wstring
:
#include <iostream>
#include <string>
int main()
{
std::wstring s(L"←→↑↓");
std::wcout << s << "\n";
}
Обратите внимание, что есть разница между L"←→↑↓"
а также "←→↑↓"
, Последний является недействительным, так как ни ←
ни →
и, конечно, нет ↑
а также ↓
действительные символы ASCII.
На моей машине это печатается как <-->??
Возможно, потому что терминал не поддерживает символы.