РТУ МИРЭА
Принял ____________________
Содержание 2
Задание 3
Ход работы 3
Вывод 6
Задание
1. Изучить особенности работы программы копирования файлов c
использованием библиотеки С, API Win32 и функции-полуфабриката Win32.
2. Последовательно набрать и отладить программы копирования файлов в
среде.
3. Выполнить задание по копированию файла 1 в файл 2, выбрав произвольные
имена файлов в различных программах.
4. Подготовить отчет по выполненной работе.
Ход работы
1. Соберем три программы, исходный код кот которых представлен в
методичке данной лабораторной работы.
2. Особенности программы "cpw"
a. "windows.h" включается всегда и содержит все определения функций и типов
данных Win32.
b. Все объекты Win32 идентифицируются переменными типа HANDLE, и к
большинству объектов
c. Применяется одна универсальная функция - CloseHandle.
d. Рекомендуется закрывать все открытые дескрипторы, когда они больше не
требуются, чтобы освободить ресурсы. Тем не менее, при завершении
процесса дескрипторы закрываются автоматически.
e. В Win32 определены многочисленные символические константы и флаги. Их
имена обычно очень длинны и часто описывают их назначение. Типичное
имя - INVALID_HANDLE_VALUE или GENERIC_READ.
f. Функции типа ReadFile и WriteFile возвращают логические значения, а не
количество байтов (которое передается в параметре). Это несколько
изменяет логику цикла. Конец файла обнаруживается по нулевому
количеству байтов и не приводит к неудаче операции.
g. Функция GetLastError позволяет в любой момент получить системные коды
ошибок в форме DWORD.
3. Проверим функционал программ:
a. "cpc text.txt new_text.txt" - OK
Исходный код программы приведён в таблице 1.
Таблица 1. Исходный код программы "cpc".
#include <stdio.h>
#include <errno.h>
#define BUF_SIZE 256
fclose (in_file);
fclose (out_file);
}
#include <windows.h>
#include <stdio.h>
#define BUF_SIZE 256
#include <windows.h>
#include <stdio.h>
Вывод
Были изучены и протестированы программы для копирования файлов в файловой
системе с помощью стандартной библиотеки, функций WinAPI и утилитарной функции
WinAPI ("CopyFile"). Поставленные задачи в рамках данной работы были выполнены и цели
достигнуты.