Форум программистов, компьютерный форум CyberForum.ru

Коды символов одной и той же буквы различаются. [help] - C++

Восстановить пароль Регистрация
 
gore-lykovoe
 Аватар для gore-lykovoe
31 / 31 / 1
Регистрация: 04.04.2010
Сообщений: 414
22.10.2011, 18:24     Коды символов одной и той же буквы различаются. [help] #1
тоесть если я делаю
cout<<int('а'); где а-русская, он выводит код -32. И так до я -1;
а если
char c;
cin>>c;
cout<<int(c) и вводить русскую а, он выводит код -94.

Проблема в кодировке? Что делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2011, 18:24     Коды символов одной и той же буквы различаются. [help]
Посмотрите здесь:

Коды символов C++
перевести коды символов C++
Удаление i-той буквы из слова C++
C++ вывести слова которые начинаются с одной и той же буквы
Коды символов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Noa
56 / 33 / 4
Регистрация: 08.04.2008
Сообщений: 158
22.10.2011, 18:34     Коды символов одной и той же буквы различаются. [help] #2
Да, проблема в кодировке.
Изучите:
Русские шрифты в консоли
gore-lykovoe
 Аватар для gore-lykovoe
31 / 31 / 1
Регистрация: 04.04.2010
Сообщений: 414
22.10.2011, 19:06  [ТС]     Коды символов одной и той же буквы различаются. [help] #3
Есть более интересный способ:
Создаешь новый проект, нажимаешь "Сохранить как...", в окне сохранения файла (возле кнопки "Сохранить") есть треугольничек, сохранить с кодировкой, "Да", и в списке выбираешь "Cirilic (DOS) - code page 866", "ОК".
я сделал так, теперь коды совпадают, но мне не нравится коды символов в этой кодировке. тоесть например код буквы
а -96
б -95
в -94
н -83
о -82
п -81
а код р уже -32 и так до -17 (я)

коды идут непропорционально. Какая зависимость существует? Как исправить?
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.10.2011, 19:10     Коды символов одной и той же буквы различаются. [help] #4
А вы попробуйте вывести эту букву. Русские буквы в char помещаться в общем-то не должны...
gore-lykovoe
 Аватар для gore-lykovoe
31 / 31 / 1
Регистрация: 04.04.2010
Сообщений: 414
22.10.2011, 19:16  [ТС]     Коды символов одной и той же буквы различаются. [help] #5
Цитата Сообщение от diagon Посмотреть сообщение
А вы попробуйте вывести эту букву. Русские буквы в char помещаться в общем-то не должны...
вывел
Charles Kludge
Клюг
 Аватар для Charles Kludge
7622 / 3137 / 361
Регистрация: 03.05.2011
Сообщений: 8,383
22.10.2011, 19:21     Коды символов одной и той же буквы различаются. [help] #6
gore-lykovoe,
http://www.ascii-codes.com/cp866.html
gore-lykovoe
 Аватар для gore-lykovoe
31 / 31 / 1
Регистрация: 04.04.2010
Сообщений: 414
22.10.2011, 19:26  [ТС]     Коды символов одной и той же буквы различаются. [help] #7
Цитата Сообщение от Charles Kludge Посмотреть сообщение
и нафига они сделали это разделение?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
22.10.2011, 19:32     Коды символов одной и той же буквы различаются. [help] #8
gore-lykovoe, попробуйте char на unsigned char поменять...
Charles Kludge
Клюг
 Аватар для Charles Kludge
7622 / 3137 / 361
Регистрация: 03.05.2011
Сообщений: 8,383
22.10.2011, 19:38     Коды символов одной и той же буквы различаются. [help] #9
Это не обсуждаемо. Таков ГОСТ-19768-74.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2011, 19:47     Коды символов одной и той же буквы различаются. [help]
Еще ссылки по теме:

Коды таблицы символов ASCII C++
C++ Коды символов ANSI (CP-1251)
Коды символов ASCII C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gore-lykovoe
 Аватар для gore-lykovoe
31 / 31 / 1
Регистрация: 04.04.2010
Сообщений: 414
22.10.2011, 19:47  [ТС]     Коды символов одной и той же буквы различаются. [help] #10
Цитата Сообщение от easybudda Посмотреть сообщение
gore-lykovoe, попробуйте char на unsigned char поменять...
ммм, это просто делает код как в ссылке, которую мне дали. Тоесть код а =160. Но мне мешает разделение сильно(( работает и с ним, но массив пришлось расширять под символы, которые в промежутке.
Yandex
Объявления
22.10.2011, 19:47     Коды символов одной и той же буквы различаются. [help]
Ответ Создать тему
Опции темы

Текущее время: 21:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru