Вы находитесь на странице: 1из 5

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение


высшего образования
"МИРЭА - Российский технологический университет"
РТУ МИРЭА

Институт информационных технологий (ИТ)


Кафедра инструментального и прикладного программного обеспечения
(ИиППО)

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 4

по дисциплине
«Системное программное обеспечение»

Выполнил студент группы ИКБО-01-17 Ананьев Ф.А.

Принял ассистент Алпатов А.Н.

Работа выполнена «___» ________ 2020 г.

«Зачтено» «___» ________ 2020 г.

Москва 2020
Цель работы: приобрести практические навыки копирования файлов
с использованием стандартной библиотеки на языке С, копирование файлов с
использованием интерфейса программирования приложений (API) Win32, а
также с использованием функции-полуфабриката Win32.

Задание:
1. Изучить особенности работы программы копирования файлов с
использованием библиотеки С, API Win32 и функции-полуфабриката Win32.
2. Последовательно набрать и отладить программы копирования
файлов в среде.
3. Выполнить задание по копированию файла 1 в файл 2, выбрав
произвольные имена файлов в различных программах.
Ход работы
Соберем все три программы, представленные в методических
указания, используя компилятор gcc и средства MinGW. На рисунке 1
представлен результат выполнения всех трех программ, используя текстовый
файл, содержащий внутри слово test. Таким образом, в конечном файле
test3.txt по-прежнему содержится слово test, что свидетельствует об
успешной работе всех трех способов копирования файлов.

2
Рисунок 1 – результат работы программ
Контрольные вопросы
1. Что такое API Win32?
Win32 API – это набор функций ОС Windows, предоставляющий
способ взаимодействия пользовательских приложений с ОС.
2. Какие операционные системы обслуживает API Win 32?
Win32 API обслуживает ОС семейства Microsoft Windows, начиная с
Windows NT.
3.Какие особенности имеет API Win 32?
Win32 API ориентирован на 32ух разрядные приложения,
спроектирован для написания программ на языке C. Функции API Win32
позволяют программе получить доступ к ресурсам ОС Windows.
3. Какие преимущества программирования дает API 32?

3
Программирование с использованием Win32 API позволяет напрямую
взаимодействовать с операционной системой, что позволяет улучшить
качество и производительность ПО. Win32 API дает самые широкие
возможности для работы с Windows.
5. Какой основной тип переменных используется в Win 32?
Основные типы: BOOL, DWORD, BYTE, INT, LONG, NULL, UINT, а
также дексрипторные (HANDLE, HWND) и строковые.
6. Для управления каких систем могут быть написаны программы с
использованием Win32?
С помощью Win32 API можно работать с объектами ядра, управлять
памятью и другими системными ресурсами, управлять окнами, графическим
интерфейсом и так далее.
7. Что означает строка int main (int argc, LPTSTR argv [])?
Главная функция программы, куда передается количество аргументов
и указатель на массив строк, содержащих аргументы.
8. Поясните, какую функцию выполняет данный оператор: hIn =
CreateFile (argv [1], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
Сохраняет в переменную дескриптор файла, открытого с помощью
функции CreateFile с именем, заданным аргументом командной строки.
9. Поясните, какую функцию выполняет данный оператор: hOut =
CreateFile (argv [2], GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
Сохраняет в переменную дескриптор файла, создающегося с
помощью функции CreateFile с именем, заданным аргументом командной
строки.
10.Поясните, какую функцию выполняет данный оператор: while
(ReadFile (hIn, Buffer, BUF_SIZE, &nIn, NULL) && nIn > 0)
Осуществляет чтение из файла с дескриптором hIn в переменную
Buffer.

4
11. Поясните, какую функцию выполняет данный оператор: WriteFile
(hOut, Buffer, nIn, &nOut, NULL);
Осуществляет запись в файл с дескриптором hOut из переменной
Buffer.
12. Поясните, какую функцию выполняет данный оператор: if (!
СopyFile (argv [1], argv [2], FALSE)).
Проверяет, успешно ли копирование файла с именем argv[1] в файл с
именем argv[2]
Вывод: в ходе работы приобретены практические навыки
копирования файлов с помощью средств языка C и Win32 API.

Вам также может понравиться