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