Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Писарев Иван
0 / 0 / 0
Регистрация: 05.09.2012
Сообщений: 44
1

XOR двух файлов

07.09.2013, 00:03. Просмотров 623. Ответов 3
Метки нет (Все метки)

Доброго времени суток.
Стоит задача произвести операцию XOR над каждым битом двух файлов и в итоге получить третий. Использую для этого char. Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    string path;
    fstream file("Test.txt", ios::in, ios::binary);
    fstream key("Key.txt", ios::in, ios::binary);
    cout<<"Input path shifr -> ";
    cin>>path;
    fstream shifr(path, ios::out, ios::binary);
    char* Intermediate1 = new char();
    char* Intermediate2 = new char();
    char Intermediate3;
    while(file)
    {
        file.read(Intermediate1, sizeof(char));
        key.read(Intermediate2, sizeof(char));
 
        Intermediate3=(char)Intermediate1^(char)Intermediate2;
        shifr<<Intermediate3;
    }
    shifr.close();
    key.close();
    file.close();
По идее должен появиться файл, являющийся результатом операции, описанной выше. Но ничего хорошего не выходит. Как я понимаю, проблема в особых символах(начала файла, конца файла и тд.). Можно ли как-то решить эту проблему с помощью char, или все же стоит нужен другой тип данных?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.09.2013, 00:03
Ответы с готовыми решениями:

Слияние двух файлов по алгоритму: цифра вставляется после двух символов
#include &lt;iostream&gt; #include &lt;io.h&gt; #include &lt;stdio.h&gt; #include &lt;windows.h&gt;...

Организовать проект в виде двух заголовочных и двух программных файлов. Выполнить многофайловую компиляцию
Как это зделать?(( #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Хеш двух файлов
Доброго времени суток) У меня есть два фала(txt), с разными текстами, но...

Побайтное сравнение двух файлов
#include &lt;locale.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main(int...

Сравнение двух текстовых файлов
господа есть 2 файла txt как сравнить точно ли информация в первом совпадает со...

3
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
Завершенные тесты: 1
07.09.2013, 00:33 2
Цитата Сообщение от Писарев Иван Посмотреть сообщение
shifr<<Intermediate3;
Если shifr открыт в бинарном режиме, то и писать туда ofstream::write function
1
Писарев Иван
0 / 0 / 0
Регистрация: 05.09.2012
Сообщений: 44
07.09.2013, 00:39  [ТС] 3
Цитата Сообщение от Dani Посмотреть сообщение
Если shifr открыт в бинарном режиме, то и писать туда ofstream::write function
Все равно в файле key знаки @@@@@@@, хотя по идеи должны быть не только такие.
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.09.2013, 01:23 4
Если так:
C++
1
2
3
4
5
6
7
8
9
10
while(true)
{
    file.read(Intermediate1, sizeof(char));
    if (file.eof()) break;
    key.read(Intermediate2, sizeof(char));
 
    Intermediate3 = (*Intermediate1) ^ (*Intermediate2);
        
    shifr.write(&Intermediate3, sizeof(char));
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2013, 01:23

Объединение двух бинарных файлов
Как сделать программу которая считывает числа (упорядоченные по возрастанию) из...

Сравнение двух дисковых файлов
Здравствуйте, как написать функцию, которая сравнивает содержимое двух дисковых...

Сравнение двух текстовых файлов
Объясните, пожалуйста, как работает код #include&lt;iostream&gt; #include &lt;stdio.h&gt;...


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

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

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