Вставка знака «£» в выходную строку в C ++ - PullRequest
5 голосов
/ 30 сентября 2010

У меня есть следующий код:

cout << "String that includes a £ sign";

Однако знак £ не распознается компилятором, а вместо него отображается знак с ударением. Я могу вставить один, используя следующий метод:

cout << "String that includes a " << char(156) << " sign";

, где 156 - код ASCII знака £. Есть ли способ, которым я могу включить этот код ASCII в самой строке без необходимости выделять его, как это? Например:

cout << "String that includes a <some way of iserting the £ sign> sign";

Ответы [ 3 ]

12 голосов
/ 30 сентября 2010

£ не имеет «ASCII-кода» - ASCII равен 7 битам (0..127).Существуют различные расширенные 8-битные наборы символов, которые включают £, но единого стандарта для этого нет, и символ £ может иметь различные значения в разных средах.Возможно, вам следует использовать Unicode, если вам нужны международные символы с максимальной переносимостью.

8 голосов
/ 30 сентября 2010

Вы можете использовать escape-последовательность \x для вставки символа с шестнадцатеричным кодом. В вашем случае

cout << "String that includes a \x9C sign";

Как говорит Пол, это просто выводит символ с кодом 156, но не дает гарантии, что это действительно знак фунта в разных системах.

3 голосов
/ 30 сентября 2010

ASCII определяет только символы до 127. (8-й бит предназначался для проверки на четность, что было необходимо для шумной линии передачи 1960-х годов, когда разрабатывался ASCII). Кроме того, символы различаются в зависимости от кодовой страницы и шрифта. Существует несоответствие между шрифтом, используемым редактором, который вы используете для написания своего кода C ++, и шрифтом, используемым для отображения вывода.

Итак, вам нужно отобразить символ 156, чтобы отобразить £ на вашем устройстве вывода. Вы можете явно ввести символ 156 на ПК Windows, удерживая нажатой клавишу «Alt» и нажав «0159» на цифровой клавиатуре. Кроме того, вы можете использовать код символа в строке в шестнадцатеричном виде:

 cout << "String that includes a \x9C sign"; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...