Задания к лабораторной работе №1
.docЛабораторная работа №1
Работа в файловой системе Windows с использованием Windows API
Ограничения:
а) программа разрабатывается на языке С/С++;
б) следует использовать символы Unicode;
в) предусмотреть возможность вывода результатов на консоль и перенаправления стандартного вывода, а также возможность ввода с клавиатуры и перенаправления стандартного ввода. Для перенаправления следует предусмотреть символы, которые пользователь будет, при необходимости, указывать в командной строке.
-
Написать программу попарного копирования файлов, заданных в качестве первых 2n (n <=4) аргументов командной строки и вывода содержимого тех полученных в результате копирования файлов, в которых встречается последовательность символов, заданная (2n+1)-ым аргументом. Если количество аргументов четно, необходимо выдавать сообщение о невозможности скопировать файл, заданный последним аргументом.
-
Написать программу поиска строк, заданных вторым и т.д. аргументами командной строки в файле, имя которого задано первым аргументом командной строки.
-
Написать программу, анализирующую аргументы командной строки. Если текущий аргумент – файл, необходимо вывести на экран его содержимое, если это каталог – выдать отсортированный список его файлов/подкаталогов. В других случаях должно выдаваться сообщение об ошибке.
-
Написать программу, позволяющую отображать или изменять атрибуты файла или файлов, указываемых в командной строке.
-
Написать программу чтения стандартного ввода с поочередным добавлением каждой строки в файлы, заданные в качестве аргументов командной строки. Т.е. если задано 3 аргумента командной строки (не считая нулевого) каждая первая, четвертая, … считанные строки должны записываться в файл, заданный первым аргументом; каждая вторая, пятая, … — в файл, заданный вторым аргументом и т.д.
-
Написать программу замены слова, заданного первым аргументом командной строки на слово, заданное вторым аргументом командной строки в файлах, заданных третьим и т.д. аргументами. Вывести содержимое файлов.
-
Написать программу выдачи строк, которые одновременно встречаются в каждой паре файлов, заданных аргументами командной строки.
-
Написать программу выдачи строк, которые для каждой пары файлов, заданных аргументами командной строки, встречаются в первом из этой пары и не встречаются во втором.
-
Вывести содержимое и информацию о правах доступа всех файлов, заданных аргументами командной строки, в каждом из которых количество строк не меньше куба номера его позиции в командной строке.
-
Написать программу попарного переименования файлов, названия которых заданы первыми 2n параметрами командной строки (1 n 4), и вывода всех строк полученных файлов, соответствующих шаблону, заданному последним 2n+1-ым параметром командной строки. Все файлы, заданные нечетными параметрами, необходимо переименовать соответственно в файлы, заданные четными параметрами (без учета названия программы). В случае неверного ввода параметров выдавать сообщение об ошибке.
-
Написать программу удаления (с подтверждением/отменой) всех файлов, заданных 2-м, 3-м, …, n-м (n 8) параметрами командной строки, в которых более k раз (k задано последним параметром командной строки) встретилось слово, заданное первым параметром командной строки.
-
Написать программу вывода дерева каталогов для заданного в командной строке каталога.
-
Написать программу удаления (с подтверждением/отменой) всех файлов, заданных 2-м, 3-м, …, n-м (n 8) параметрами командной строки, в которых более k раз (k задано последним параметром командной строки) встретилось слово, заданное первым параметром командной строки. В качестве результата выводить имена файлов с пометкой об удалении (удален/не удален) и соответствующие количества вхождения слова.
-
Написать программу чтения из файла заданного количества байтов, начиная с заданного места в файле. Имя файла, количество байтов и смещение относительно начала файла задаются параметрами командной строки.
-
Написать программу сортировки ввода.
-
Написать программу выдачи одинаковых слов для каждой тройки файлов, заданных аргументами командной строки.