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

Скремблирование и прочее - C++

Восстановить пароль Регистрация
 
Avogadro_dp
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 5
23.03.2013, 22:28     Скремблирование и прочее #1
Добрый день, помогите разобраться. Нужно написать программу для скремблирование файлов.
Но перед этим вопрос: как из исходного файла бинарными операциями перезаписать новый файл идентичный исходному (если я вообще все правильно представляю).

вот что-то набросал:
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
27
28
29
30
31
32
33
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
void main()
{
    char ch;
    int i=0;
    
    ifstream in("C:\\1.jpg", ios::binary);
    ofstream out ("C:\\2.jpg");
    
    if (in == NULL) cout << "Cannot open 'in' file!" << endl; 
        else cout<<"'In' file open!"<<endl;
 
    if (out == NULL) cout << "Cannot open 'out' file!" << endl; 
        else cout<<"'Out' file open!"<<endl;
    
    while(in.eof()==0)  
    {
        in.get(ch);
        i++;
        out.put(ch);
    }
    cout << i << endl;
 
    fcloseall();
    cout << "All files close!" << endl;
    system("pause");
}
Миниатюры
Скремблирование и прочее   Скремблирование и прочее  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 22:28     Скремблирование и прочее
Посмотрите здесь:

C++ Дирректива define и прочее
C# Массивы и прочее
VersionInfo и прочее Visual C++
C++ Указатель на массив char и прочее
С++ VLA и прочее... C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hellrider_
 Аватар для Hellrider_
42 / 42 / 1
Регистрация: 12.03.2013
Сообщений: 112
23.03.2013, 22:49     Скремблирование и прочее #2
А read() и write() если попробовать?

Добавлено через 5 минут
а на запись почему нету флага?
C++
1
ofstream out ("C:\\2.jpg", ios::binary);
Avogadro_dp
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 5
23.03.2013, 23:27  [ТС]     Скремблирование и прочее #3
Цитата Сообщение от Hellrider_ Посмотреть сообщение
А read() и write() если попробовать?

Добавлено через 5 минут
а на запись почему нету флага?
C++
1
ofstream out ("C:\\2.jpg", ios::binary);
СПАСИБО тебе добрый человек!! Все работает))
Теперь перейдем к скремблированию))

А еще вопрос если делать через read/write то как узнать длину строки которую нужно считать/записать?

Добавлено через 35 минут
А теперь скремблирование.

Есть формула Bi = Aihttp://www.cyberforum.ru/cgi-bin/latex.cgi?\oplusBi-3http://www.cyberforum.ru/cgi-bin/latex.cgi?\oplusBi-9, по ней дужно его осуществить А - исходный код, В - результирующий. А где брать i-3 и i-9 элементы результирующего кода, если i = 0 например?

Препод вообще ничего не обьяснил, сказал сами ищите)
Hellrider_
 Аватар для Hellrider_
42 / 42 / 1
Регистрация: 12.03.2013
Сообщений: 112
23.03.2013, 23:46     Скремблирование и прочее #4
Ну что-то типа этого:
C++
1
2
3
pos_type size = 0;
in.seekg(0, ios::end);
size = in.tellg();
size вставляем во второй аргумент read().

По скремблированию к сожалениею знаний не имею. Но возможно кто то на форуме имеет и поделится
Yandex
Объявления
23.03.2013, 23:46     Скремблирование и прочее
Ответ Создать тему
Опции темы

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