Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Jabberwock
3 / 3 / 1
Регистрация: 05.01.2009
Сообщений: 23
1

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

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

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

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

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

Даны две символьные переменные, в которых все символы, кроме одного, одинаковы. Определить номер позиции, в которй символы отличаются
Ребят помогите решить задачи Задание 3 Даны две символьные переменные, по 4 символа каждая, ...

Одно оформление для всех операционных систем
Как сделать, чтобы оформление интерфейса было одинаковым во всех операционных системах?

2
accept
4843 / 3264 / 465
Регистрация: 10.12.2008
Сообщений: 10,569
11.01.2009, 15:50 2
символьные коды могут быть любыми, идти в любом порядке

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

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

например функция fopen по разному открывает файл в виндовс и линукс, однако выглядит одинаково и там и там, то же самое касаемо ctype.h, поэтому для определения вхождения символа в какой-то класс лучше использовать функции типа isupper(c), isdigit(c), т.к. в них учтены все ситуации
0
Jabberwock
3 / 3 / 1
Регистрация: 05.01.2009
Сообщений: 23
11.01.2009, 16:04  [ТС] 3
Лучший ответ Сообщение было отмечено Jabberwock как решение

Решение

Значит вот это будет правильно работать только у меня:
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;
}
?
0
11.01.2009, 16:04
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2009, 16:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

работа компиляторов для виндов
Я начинающий программист и также пока плохо знаю английский. Я знаю обшие принципы работы проца, но...

Как сделать, чтобы на всех дисплеях координаты кнопок были одинаковы?
Всем привет. подскажите пожалуй , создал игру подобие найди кота , закачек много ,но на каждем...

Почему начальные адреса в ОП, на которые загружается программа, одинаковы на всех компьютерах?
Т.е. есть некая программа. Есть адрес в ОП, например 0xE123F456. Скомпилированный исполняемый файл...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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