2009-11-01 5 views
0

В настоящее время я пишу приложение C, и мне нужно, чтобы отобразить следующие символы в терминале: и Отображение ≥ и ≤ символов ASCII в C Применение

Их коды ASCII символов являются 242 и 243, но я не могу заставить их отображаться в терминале DOS.

Любые идеи о том, как я могу это сделать?

+1

Шрифт, используемый вашим терминалом, может не соответствовать ASCII, и, вероятно, это не стандартный способ его создания. Будьте готовы либо работать с чем-то в Boost, либо с помощью кода на платформе. – GManNickG

+15

Педантичная точка: ASCII кодирует символы только до 127 (0x7F). Кроме того, символы в кодовых точках являются специфичными для реализации. Вы говорите о кодовой странице 437 (у которой есть ≥ и ≤ в точках 242 и 243). –

+1

Если вы используете современную систему, используйте строки Unicode и wprintf (и варианты). http://msdn.microsoft.com/en-us/library/wc7014hz%28VS.80%29.aspx – bobince

ответ

5
printf("\xf2\n"); 

Если это не работает, это из-за DOS и кодовых страниц. Попробуйте сыграть с командой CHCP. Вы прогуливаетесь по регионам/на платформе/в зависимости от региона.

+0

все еще ничего с 'printf (" \ xf2 \ n ");' ... знак равенства (=) отображается –

+2

Это означает, что вы используете кодовую страницу 850 (http://en.wikipedia.org/wiki/ Code_page_850), который не кодирует глифы ≥ или ≤. –

+1

Попробуйте перейти на страницу с кодом 437 с помощью chcp (http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/chcp.mspx?mfr=true) –

7

Это не в ASCII и, например, в LATIN1.

+0

Они даже не в CP1252, обычной кодовой странице Windows, AFAICS. Они выглядят как U + 2264 и U + 2265 в Unicode. –

1

Какой терминал DOS? Если вы компилируете 32-битный (или 64-разрядный) двоичный файл под Windows, как я уверен, вы это просто консольное окно.

Я считаю, что this - это самый простой способ установить кодовую страницу окна консоли. Вам решать, использовать ли кодовую страницу 437 или кодовую страницу Юникода (например, UTF-8, которая составляет 65001), но я бы предложил Unicode, так как это даст вам больше гибкости, если вам это нужно позже.