Дополнительное задание: файлы

Указания:
  • Программа должна получать входные данные (имена файлов и. т. д.) через аргументы командной строки.
  • При необходимости результат должен выводиться в стандартный поток вывода.
  • Работа с файлами должна осуществляться средствами API POSIX.
  1. Дан текстовый файл, содержимое которого состоит из заглавных латинских букв. Требуется найти подстроку из четырех букв, которая встречается в данной строке чаще всего. Например, в строке DEFGDEFGABCABCZABCDEFGDEFG чаще всего (4 раза) встречается подстрока DEFG. Входной файл содержит текстовую строку. Выходной файл должен содержать последовательность и количество ее вхождений в строку. Длина исходной строки от 3 до 1000000 символов.
  2. В текстовом файле содержатся сведения о количестве учащихся в классах и их классных руководителях. Количество классов в школе не превышает 20. Для описания каждого класса отводится одна строка. В первых четырех позициях каждой строки файла записано имя класса (например, 5a, 10b) класса (не пишите русских букв), а затем количество человек в нем и ФИО руководителя. Программа по запросу выдает сведения о классе или сообщение о том, что класс не найден.
  3. В содержимом файла найти все заданные последовательности символов и заменить их другой заданной последовательностью.
  4. В содержимом файла найти наиболее часто встречающийся символ (любой, если их несколько) и заменить все его вхождения символом '.'
  5. Написать сценарий, который принимает два пути к файлам и копирует текст из первого файла во второй, добавляя в начало каждой строки её номер в обратном порядке (то есть, последняя строка должна иметь номер 1) и пробел. Если сценарий запущен не с двумя аргументами, он должен вывести сообщение об использовании сценария.
  6. Найти в заданном файле все вхождения заданной строки. Вывести позиции начала каждого вхождения и содержимое файла, начиная с этой позиции.
  7. Найти в заданном файле последнее вхождение заданной строки. Вывести позиции начала каждого вхождения и содержимое файла, начиная с этой позиции. Решить задачу с помощью отображения файлов в память.
  8. Определить, является ли содержимое заданного файла палиндромом.
  9. Определить, является ли содержимое заданного файла палиндромом. Решить задачу с помощью отображения файлов в память.