Задания на лабы для ВТ / LR_3
.DOCЛабораторная работа 3. Операции над каталогами и файлами
Цель работы. Разработать приложение для работы с каталогами и файлами
-
Возможности программы:
-
создание и удаление заданных директорий
-
создание файлов в новых директориях
-
копирование и перемещение файлов между директориями с возможностью выявления попытки работы с файлами, имеющими совпадающие имена
3.2. Используемые функции Win32 API:
Таблица вариантов
|
Вар.01 |
Вар.02 |
Вар.03 |
Вар.04 |
Вар.05 |
Вар.06 |
Вар.07 |
Вар.08 |
Вар.09 |
Вар.10 |
CreateDirectory |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
RemoveDirectory |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
CopyFile |
+ |
|
|
|
|
|
|
|
+ |
|
MoveFile |
|
+ |
|
+ |
|
+ |
|
+ |
|
+ |
ReplaceFile |
|
|
+ |
|
+ |
|
+ |
|
|
|
DeleteFile |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
|
Вар.11 |
Вар.12 |
Вар.13 |
Вар.14 |
Вар.15 |
Вар.16 |
Вар.17 |
Вар.18 |
Вар.19 |
Вар.20 |
CreateDirectory |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
RemoveDirectory |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
CopyFile |
+ |
+ |
|
|
|
|
|
|
|
+ |
MoveFile |
|
|
+ |
|
+ |
|
+ |
|
+ |
|
ReplaceFile |
|
|
|
+ |
|
+ |
|
+ |
|
|
DeleteFile |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Приложение 3. Функции и структуры для операций над каталогами и файлами
BOOL CreateDirectory( //Создание каталога
LPCTSTR lpPathName, // directory name – имя создаваемого каталога [in]
LPSECURITY_ATTRIBUTES lpSecurityAttributes // SD – дескриптор безопасности [in/out]
);
BOOL CreateDirectoryEx( // Создание каталога
LPCTSTR lpTemplateDirectory, // template directory – образец каталога [in]
LPCTSTR lpNewDirectory, // directory name – имя создаваемого каталога [in]
LPSECURITY_ATTRIBUTES lpSecurityAttributes // SD – дескриптор безопасности [in]
);
BOOL RemoveDirectory( // Удаление каталога
LPCTSTR lpPathName // directory name – путь [in]
);
BOOL CopyFile( // Копирование файла
LPCTSTR lpExistingFileName, // name of an existing file – имя существующего файла [in]
LPCTSTR lpNewFileName, // name of new file – имя нового файла [in]
BOOL bFailIfExists // operation if file exists – учет коллизий с новым именем [in]
);
BOOL CopyFileEx( // Копирование файла
LPCTSTR lpExistingFileName, // name of existing file - имя существующего файла [in]
LPCTSTR lpNewFileName, // name of new file – имя нового файла [in]
LPPROGRESS_ROUTINE lpProgressRoutine, // callback function – обработчик [in]
LPVOID lpData, // callback parameter – данные для обработчика [in]
LPBOOL pbCancel, // cancel status – отказ от обработки [in]
DWORD dwCopyFlags // copy options – флаги копирования [in]
);
BOOL MoveFile( // Перемещение файла
LPCTSTR lpExistingFileName, // file name – имя существующего файла [in]
LPCTSTR lpNewFileName // new file name – имя нового файла [in]
);
BOOL MoveFileEx( // Перемещение файла
LPCTSTR lpExistingFileName, // file name – имя существующего файла [in]
LPCTSTR lpNewFileName, // new file name – имя нового файла [in]
DWORD dwFlags // move options – флаги перемещения [in]
BOOL ReplaceFile( // Замещение файла
LPCTSTR lpReplacedFileName, // file name – имя замещаемого файла [in]
LPCTSTR lpReplacementFileName, // replacement file – имя замещающего файла [in]
LPCTSTR lpBackupFileName, // optional backup file – имя сохраняемого файла [in]
DWORD dwReplaceFlags, // replace options – флаги замещения [in]
LPVOID lpExclude, // reserved – резерв [in]
LPVOID lpReserved // reserved – резерв [in]
);
BOOL DeleteFile( // Удаление файла
LPCTSTR lpFileName // file name – имя файла [in]
);