Практика 5
Задание выполняется на базе предыдущего
Написать программу, которая работает с командной строкой (ввод всегда без ошибок)
./main {loadtxt | loadbin} infile {savetxt | savebin} outfile
./main {loadtxt | loadbin} infile print “fmt”
./main {loadtxt | loadbin} infile count
loadtxt загрузить из текстового файла
loadbin загрузить из двоичного файла
savetxt записать в текстовый файл
savebin записать в двоичный файл
print “fmt” вывести список на экран в формате fmt (пример fmt: “(%d %d)”, “[%#x %#x]\n”)
count вывести размер списка
Файлы всегда правильного формата
Текстовый файл: каждый элемент списка на новой строке; числа x и y разделены пробелом
Бинарный файл: каждое число занимает не больше 3 байт
Hint: в структуре тип int x; при чтение/записи надо работать с битами с помощью &, |, <<, >>
Требование по реализации count и print: использовать указатель на функцию
void apply( intrusive_list_t* l, void (*f)(XXX))