Замечание: во всех задачах при вводе-выводе использовать низкоуровневые средства системы UNIX.
1. Написать программу, создающую файл - копию заданного файла. Имена файлов задаются в командной строке.
a) копирование по одной литере;
b) копирование блоками;
2. Программа. Создать файл, являющийся конкатенацией других файлов. Имена файлов задаются в командной строке.
3. Описать функцию, удваивающую в заданном файле каждую очередную четверку байт.
4. Программа. В каждом из данных файлов удалить те N–ки байт, в которых первый байт равен коду символа s. Имена файлов, символ s и величина N задаются в командной строке.
5. Описать функцию, определяющую количество символов s в тексте, состоящем из нечетных N-ок байт заданного файла. Имя файла, символ s и величина N – параметры функции – в главной функции задавать с помощью параметров в командной строке.
6. Программа. Создать файл, содержащий значения
Функции
sin(x)∗cos(x)∗exp(x) на отрезке [a,b] в точках xi = a+i∗h, h = (b-a)/n, i = 0,1,…,n; имя файла и значения a, b, n задаются в командной строке.
|
|
7. Программа. В файле записана последовательность целых чисел. Создать файл, состоящий из чисел данного файла, значения которых меньше N. Имена файлов и величина N задаются в командной строке.
8. Программа. В конец файла f приписать
a) число 1234;
b) строку “end”;
9. Программа. В конец файла f приписать содержимое файла g.
10. Написать программу, приписывающую в конец файла f его содержимое.
11. Программа. Содержимое файлов, длина которых меньше N байт, переписать в новый файл-результат и удалить такие файлы. Файлы, длина которых больше либо равна N байт, не изменяются и не удаляются. Имена файлов и величина N задаются в командной строке: fres f1 f2 …, где fres - имя файла-результата, f1, f2, … - файлы, содержимое которых должно быть проанализировано.
12. Написать программу слияния двух файлов в третий. Файл -результат формируется чередованием N-ок символов первого и второго файлов (если один из файлов длиннее другого, то его оставшаяся часть приписывается в конец файла-результата). Имена файлов и величина N задаются в командной строке.
Контрольные вопросы
1. Понятие файла в ОС UNIX.
2. Понятие файлового дискриптора, системный вызов для его открытия.
3. Права доступа к файлу.
4. Чтение (запись) из(в) файла на низком уровне средствами языка С в UNIX.
5. Сравните системные вызовы и функции общего назначения для работы с потоками ввода- вывола.
Лабораторная работа № 4.
(4 часа)
Процессы в операционной системе UNIX.