Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с кодом символа / 4 сообщений из 4, страница 1 из 1
18.10.2005, 19:28
    #33331605
sportman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с кодом символа
Есть кусок проги, которая шифрует текстовый файл методом прибавки к коду символа 1, т.е. элементарное шифрование:

for (c=0;c<strlen(line);c++)
if (line[c]==255)
line[c]='\x0';
else
line[c]=line[c]+1;

Как сделать обратную операциюконкретно проблема не в том, что трудно поставить "-1" вместо "+1", а в том, что при шифрации буква "я" исчезает, а при дешифрации соответственно не появляется)?
...
Рейтинг: 0 / 0
18.10.2005, 19:35
    #33331618
SnowMan2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с кодом символа
Код: plaintext
1.
2.
3.
4.
for (c= 0 ;c<strlen(line);c++)
if (line[c]== 0 )
line[c]= 255 ;
else
line[c]=line[c]- 1 ;
...
Рейтинг: 0 / 0
19.10.2005, 06:52
    #33331975
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с кодом символа
line[c] имеет тип char, насколько я понимаю. Поэтому никакого смысла в ваших проверках нет, просто добавление/отнимание единицы прокананает на ура.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
20.10.2005, 03:56
    #33334159
ska
ska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с кодом символа
Карабас Барабасline[c] имеет тип char, насколько я понимаю. Поэтому никакого смысла в ваших проверках нет, просто добавление/отнимание единицы прокананает на ура.
Posted via ActualForum NNTP Server 1.3

Предполагаю что unsigned char, иначе сравнение в "if" с 255 не на всех платформах покатит. Во вторых конечно проблема с "0" и strlen при дешифрации. Проще при шифрации 255 на 1 менять а 0 оставить как есть.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с кодом символа / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]