Для решения задачи использовать потоковые функции работы с файлами.
Создать аналог утилиты wc (word counter). Обработать опции -c -w -l короткого вида, предусмотреть возможность отсутствия имени обрабатываемого файла в командной строке. Пробельным символом (разделителем слов) считать любой символ, код которого меньше 33.
Для решения задачи использовать дескрипторные функции работы с файлами.
Разработать две программы.
Первая программа, "Охранник", при запуске формирует бинарный файл secure.dat в текущем каталоге (размер файла передается в командной строке). Каждый байт secure.dat "Охранник" заполняет случайным значением от 1 до 255, последний байт в файле = 0. Затем, раз в N миллисекунд (передается в командной строке), "Охранник" считывает файл и сравнивает его с эталоном, хранящемся в оперативной памяти. Если файл отличается от эталона, "Охранник" выводит на экран 1) сообщение "Обнаружен похититель!", 2) позиции всех байтов с некорректным содержимым и 3) эталон, после чего удаляет файл и завершает работу.
Вторая программа, "Похититель", при запуске ожидает появления файла "secure.dat" в текущем каталоге и его полного заполнения, после чего пытается с периодичностью в X миллисекунд (передается в командной строке) считать из файла один байт со случайной позиции и заменить его в файле на значение 0. Позиции не должны повторяться. При исчезновении файла secure.dat "Похититель" должен вывести на экран 1) сообщение "Тревога, уходим!" и 2) позиции и значения всех байтов, которые удалось похитить, после чего завершить работу. При успешном чтении всех байтов из файла "Похититель" должен сформировать файл abducted.dat из похищенных байтов и завершить работу. При удачном "похищении" содержимое файла abducted.dat будет полностью соответствовать эталону, сформированному "Охранником".