С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Зашифровать файл, используя исключающее или - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структуры в языке C++ и не только http://www.cyberforum.ru/cpp-beginners/thread1208487.html
Вообщем, предыстория такая: для зачета нужно сдать 14 лабораторных, 11 из которых уже выполнено. Все бы ничего, но есть такие, которые в упор не осознаю в полной мере. В данном случае структуры и...
C++ В одномерном массиве, состоящий из n действительных элементов, вычислить: В одномерном массиве, состоящий из n действительных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от A до B; 2) сумму элементов массива, расположенных после... http://www.cyberforum.ru/cpp-beginners/thread1208484.html
C++ Обратный обход (постфиксный) дерева
Помогите реализовать постфиксный обход дерева.
C++ Подсчет количества заглавных букв в тексте
С клавиатуры вводится строка. Составить программу, которая подсчитывает количество заглавных букв в тексте; выводит на экран слова, имеющие наименьшее количество букв.
C++ что я делаю не так? в двусвязном списке? http://www.cyberforum.ru/cpp-beginners/thread1208444.html
struct PLAYERS { char name , family ; int goals , usage , bad_time ; PLAYERS* next, *prev ; } ; PLAYERS* head = 0 ; PLAYERS* tail = 0 ; PLAYERS* curr = 0 ;
C++ Сумма элементов строки и столбца В заданной действительной квадратной матрицы порядка n найти сумму элементов строки и столбца, на пересечении которых расположены элемент с наименьшим значением. подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9700 / 5650 / 964
Регистрация: 25.07.2009
Сообщений: 10,872
15.06.2014, 17:18
Цитата Сообщение от nexen Посмотреть сообщение
Вообще, я бы предложил тебе открыть файл, как бинарный, т.е. "rb+". Но я не уверен, что с ним обычные fgetc() и прочие работаю.
fread/fwrite работают, а из "оригинальных решений" - я бы файл в память отобразил...

Добавлено через 3 часа 4 минуты
В линухе вот так сделать можно:
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
#include <iostream>
#include <cassert>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
 
int main(int argc, char ** argv) {
    if ( argc < 2 ) {
        std::cerr << "Usage: " << *argv << " <file_name>" << std::endl;
        return 1;
    }
    
    int fd = open(argv[1], O_RDWR);
    assert(fd > -1);
    
    struct stat st;
    assert(fstat(fd, &st) == 0);
    long len = st.st_size;
    unsigned char ch;
    
    while ( len-- ) {
        assert(pread(fd, (void*)&ch, 1, len) == 1);
        ch = ~ch;
        assert(pwrite(fd, (const void*)&ch, 1, len) == 1);
    }
    
    assert(close(fd) == 0);
    return 0;
}
Код
[andrew@easybook files]$ g++ -o codec codec.cpp 
[andrew@easybook files]$ cat > f.txt
any many money more
[andrew@easybook files]$ ./codec f.txt 
[andrew@easybook files]$ cat f.txt 
���ߒ���ߒ����ߒ���[andrew@easybook files]$ ./codec f.txt 
[andrew@easybook files]$ cat f.txt 
any many money more
[andrew@easybook files]$
в WinAPI должно что-нибудь в том же духе быть.
Только это всё-таки C-way, в С++ с файлами по-другому работают. ТС, Вы таки уточните, Вас какому языку учат?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.