Практика 5 — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Новая страница: «Задание выполняется на базе предыдущего Написать программу, которая работает с командно…»)
(нет различий)

Версия 10:27, 13 октября 2014

Задание выполняется на базе предыдущего

Написать программу, которая работает с командной строкой (ввод всегда без ошибок)

./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))