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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.88
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
#1

Шифрование текста. XOR - C++

18.05.2012, 14:47. Просмотров 4209. Ответов 8
Метки нет (Все метки)

Помогите с шифрование текста...с числоми вроде получалось. Что значит эта ошибка и как ее испрвить?..)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
    string Text="Hello World";
    for (int i=1;i<=Text.length();i++)
    {
       char mask=(sin(i)*400)-(cos(i)*250/20);
       Text=(Text^mask); //   <--ошибка в этой строке
    }
    cout<<Text;
}
ошибка:error C2676: бинарный "^": "std::string" не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору.
Отсутствует оператор "^" соответствующий этим операндам.

как я понял в std::string нет перегруженного оператора "^ "?..)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ggmann
 Аватар для ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
18.05.2012, 14:51     Шифрование текста. XOR #2
ты не можеш обратится к всему Text , тебе нужно поелементно его ксорить
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
18.05.2012, 14:55  [ТС]     Шифрование текста. XOR #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
    char Text[]="Hello World";
    for (int i=0;i<=11;i++)
    {
       char mask=(sin(3.14)*400)-(cos(3.14)*250/20);
       Text[i]=(Text[i]^mask);
    }
    for (int i=0;i<=11;i++) cout<<Text[i];
    cout<<endl;
    for (int i=0;i<=11;i++)
    {
       char mask=(sin(3.14)*400)-(cos(3.14)*250/20);
       Text[i]=(Text[i]^mask);
    }
    for (int i=0;i<=11;i++) cout<<Text[i];
    getchar();
}
спс, вот так работает)
ggmann
 Аватар для ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
18.05.2012, 16:48     Шифрование текста. XOR #4
вместо i<=11 можеш написать Text.size(); =)
JokerNN
132 / 128 / 36
Регистрация: 29.12.2011
Сообщений: 359
18.05.2012, 17:15     Шифрование текста. XOR #5
Цитата Сообщение от ggmann Посмотреть сообщение
вместо i<=11 можеш написать Text.size(); =)
О_о давно такие выкрутасы с Char* можно делать?)
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
18.05.2012, 23:21  [ТС]     Шифрование текста. XOR #6
Цитата Сообщение от ggmann Посмотреть сообщение
вместо i<=11 можеш написать Text.size(); =)
да да да)))
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
19.05.2012, 02:04     Шифрование текста. XOR #7
Цитата Сообщение от ggmann Посмотреть сообщение
вместо i<=11 можеш написать Text.size(); =)
точнее
C++
1
sizeof(Text)/sizeof(*Text)
это не string
ggmann
 Аватар для ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173
22.05.2012, 11:12     Шифрование текста. XOR #8
ой, незаметил что там чар, думал стринга сори
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2012, 12:36     Шифрование текста. XOR
Еще ссылки по теме:

XOR шифрование/дешифрование C++
C++ XOR шифрование
C++ XOR шифрование
C++ Шифрование текста, табличная замена текста
Шифрование и дешифрование текста C++

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

Или воспользуйтесь поиском по форуму:
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
22.05.2012, 12:36     Шифрование текста. XOR #9
>> for (int i=1;i<=Text.length();i++)

зы: индексы начинаются с 0. правильно:

for(int i=0; i<Text.length(); i++)
Yandex
Объявления
22.05.2012, 12:36     Шифрование текста. XOR
Ответ Создать тему
Опции темы

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