Домашнее задание 1 (файлы)
Требуемые условия завершения
Открыто с: суббота, 10 февраля 2018, 18:00
Срок сдачи: суббота, 31 марта 2018, 23:00
Указания:
- Программа должна получать входные данные (имена файлов и. т. д.) через аргументы командной строки.
- При необходимости результат должен выводиться в стандартный поток вывода.
- Работа с файлами должна осуществляться средствами API POSIX.
- Один байт соответствует типу данных
char
,signed char
илиunsigned char
в языке программирования C.
Варианты
- Скопировать содержимое одного файла в другой.
- Сравнить содержимое двух файлов: вывести номер позиции первого отличия (байты не совпадают по значению, один из файлов закончился) и значения отличающихся байтов.
- Вычислить "контрольную сумму" файла: байт, являющийся результатом выполнения побитовой операции "исключающее или" для всех байт файла.
- Зашифровать содержимое файла с записью в другой файл. Шифрование должно выполняться при помощи побитовой операции "исключающее или" каждого исходного байта с соответствующим байтом заданного ключа (строки) некоторой длины, повторенного при необходимости нужное количество раз.
- Определить количество вхождений в файл заданного байта.
- Скопировать содержимое файла в другой, пропуская байты с заданным значением.
- Скопировать содержимое файла в другой в обратном порядке.
- Скопировать содержимое файла в другой с "циклическим сдвигом" содержимого на заданное количество байт влево: сначала скопировать содержимое файла с заданной позиции до конца, затем дописать начало файла до этой позиции.