Member 14078012 Ответов: 2

Что это за странные символы?


ну я пишу программу которая позволяет пользователю ввести оператора и выполнить эту операцию
(В основном калькулятор),поэтому я набрал cout<<"3 - умножение (×)\n"; и cout<<"4-деление(÷)\n"; но на выходе были какие-то странные символы вроде вместо ÷ появилось это ≈ , а вместо × появилось это ╫ может кто-нибудь сказать мне, что это такое? и как я могу это исправить?

Что я уже пробовал:

ну, я попытался найти эти странные символы на клавиатуре, но не нашел их, так откуда же они взялись?

2 Ответов

Рейтинг:
2

OriginalGriff

Это разница между двумя различными системами шрифтов: ASCII и Unicode. ASCII-это 7 - битный код (с расширением до 8 бит для специальных символов), поэтому он поддерживает только 256 различных кодов- он существует с первых дней вычислений!
Юникод-это новый ребенок (он существует всего несколько десятилетий!), и изначально это шестнадцатибитный код (ну ... это будет сделано для этого обсуждения), поэтому он поддерживает 64K различных символов.

Вы кодируете в Юникоде - вероятно - и печатаете в ASCII, поэтому то, что вы видите на экране, не то, что вы хотели.
Ты можешь это исправить? Скорее всего, нет. Лучший совет, который я могу дать для использования "специального символа" в консольном приложении, - это "не используйте их". Используйте '*' для умножения и '/' для деления. другие могут быть симпатичными, но даже если вы заставите их работать - что не так уж и тривиально - они представляют собой питу для пользователей, чтобы войти, поскольку они требуют удержания клавиши ALT и ввода четырехзначного шестнадцатеричного кода для ввода каждый раз. "Не очень красивые" версии доступны на цифровой клавиатуре!


Рейтинг:
1

KarstenK

Это не странный символ, а очень классный оператор языка Си. ;-)

Вызывается ссылочный оператор, который принимает ссылку (адрес) объекта или структуры и таким образом избегает создания дорогостоящей копии.


Richard MacCutchan

Э, неправильный вопрос, я думаю.