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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Jabberwock
3 / 3 / 1
Регистрация: 05.01.2009
Сообщений: 23
#1

Одинаковы ли символьные коды для всех систем/компиляторов? - C++

11.01.2009, 15:29. Просмотров 570. Ответов 2
Метки нет (Все метки)

То есть будут ли операции типа:
Код
char c = 'A';
c += 1;
cout << int(c);
Всегда давать одинаковый результат?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2009, 15:29     Одинаковы ли символьные коды для всех систем/компиляторов?
Посмотрите здесь:

Построить таблицу истинности и определить выполнимость формулы: Значения Х1,Х2,Х3 одинаковы для всех вариантов - C++
X1 X2 X3 0 0 0 0 0 1 Вот моё задание 7) Х1*Х2*Х3 + Х1*Х2*Х3 + Х1*Х2*Х3 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 ...

Заменить в строке символьные константы вида 'А', 'B' и т.д. на соответствующие hex-коды - C++
Подскажите пожалуйста!!! нужно заменить в строке символьные константы вида 'А', 'B' и т.д. на соответствующие шестнадцатеричные (т.е. 'А'...

Опции компиляторов для улучшения производительности - C++
Провел простой тест на сравнение производительности между Си и С++. Тест заключается в поиске позиции подстроки. Си при решении данной...

Добавление компиляторов и отладчиков с++ для windows 8 x64 - C++
Здравствуйте господа программисты, у меня такой вопрос: Решил изучать с++ поставил себе IDE Netbeans 7.2 и компилятор &quot;cygwin&quot;. Но при...

Нужны пояснения насчет компиляторов для разных ОС - C++
Всем привет ребят! Есть несколько вопросов: 1) Существуют различные компиляторы (к примеру на с++), эти компиляторы предназначены для...

Определить, является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы. - C++
Дана целая квадратная матрица n-го порядка. Определить, является ли она магическим квадратом, т.е. такой, в которой суммы элементов во всех...

Увеличить коды всех символов на единицу - C++
Написал программу, но что-то пошло не так и она перестала запускаться. Возможно я что-то где-то перепутал. Задание: Напишите программу...

Определить, в какой из систем счисления сумма всех цифр натурального числа имеет наибольшее значение - C++
C++ Определить, в какой из систем счисления сумма всех цифр натурального числа имеет наибольшее значение. Основания систем счисления:...

Коды ошибок, для операций - C++
Добрый вечер!Есть несложный класс,в котором перегружены операции +,-,*,/. Мне необходимо сделать какой-нибудь код ошибки операции. То...

Конфликт компиляторов - C++
Здравствуйте, я относительно недавно начал программировать, экспериментирую с созданием игр на движке HGE. У меня установлен Microsoft...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.01.2009, 15:50     Одинаковы ли символьные коды для всех систем/компиляторов? #2
символьные коды могут быть любыми, идти в любом порядке

'A' всегда будет равняться 'A'

для переносимости используется единообразный интерфейс языка, если где-то символьный набор необычный, функции переписываются с учётом его

например функция fopen по разному открывает файл в виндовс и линукс, однако выглядит одинаково и там и там, то же самое касаемо ctype.h, поэтому для определения вхождения символа в какой-то класс лучше использовать функции типа isupper(c), isdigit(c), т.к. в них учтены все ситуации
Jabberwock
3 / 3 / 1
Регистрация: 05.01.2009
Сообщений: 23
11.01.2009, 16:04  [ТС]     Одинаковы ли символьные коды для всех систем/компиляторов? #3
Значит вот это будет правильно работать только у меня:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
string correct(string arg)
{
       char chkChar;
       for (int i = 0; i < arg.size(); i++)
       {
           chkChar = arg[i];
           if (chkChar >= 'А' && chkChar <= 'п')
           {
                       chkChar -= 64;
           }
           else if (chkChar >= 'р' && chkChar <= 'я')
           {
                       chkChar -= 16;
           }
           else if (chkChar == 'Ё')
           {
                chkChar = -16;
           }
           else if (chkChar == 'ё')
           {
                chkChar = -15;
           }
           arg.replace(i,1,1,chkChar);
       }
       return arg;
}
?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru