Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (06.03.2012 в 01:38)
Вообще, конечно, нужно просто обе переменные объявить как char и не мучиться (вам же int только для x нужен)
...
char key;
char byte;
...

>Но в моем случае как понимаю - это не будет работать.
Работать, кстати, будет, я взял вашу программу, поправил только эту строку (int)key == byte, передал файл в качестве параметра и все отлично работает (я даже вручную перепроверил - все корректно). Просто в int 3 байта из 4-х не будут работать, а будет использовать только один, однако, поверьте используя char много не съэкономите :))), процессор все-равно не умеет меньше чем 32-битами управлять, а новые так вообще 64 хотят, а это значит что каждый одно-байтный char выравнивается таким образом, чтобы его можно было "скормить" процессору в виде 4 байт. Однако компилятор считает своим долгом вас подтолкнуть к использованию двух char, что собственно всех правильнее в этом случае, поэтому и капризничает...

PS Если наводящие/новые вопросы появятся, давайте для них новую тему заведем, чтобы потом их искать и ссылаться на них удобнее было.


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: