Лекция № 8
Поиск всего подряд, соответствующее имени
Поиск первого файла, соответствующего маске
Удаление файла
Переименование файла
BOOL MoveFileEx(
LPCTSTR SrcFileName,
LPCTSTR DestFileName,
DWORD Flags)
Флаги:
MOVEFILE_COPY_ALLOWED — разрешено копирование
MOVEFILE_CREATE_HARDLINK — существует жесткая ссылка
MOVEFILE_DELAY_UNTIL_REROOT — отложить переименование до перезагрузки
MOVEFILE_REPLACE_EXISTING — разрешить перезапись существующего файла
MOVEFILE_WRITE_THROUGH
BOOL DeleteFile (LCPTSTR FileName)
HANDLE FindFirstFile (
LPCTSTR FileName,
LPWIN32_FIND_DATA FileData)
(возвращается дескриптор, который надо освободить)
BOOL FindNextFile (
HANDLE h,
LPWIN32_FIND_DATA FileData)
(Результат: нашли, не нашли)
BOOL FindClose (HANDLE)
Определяет: является ли файл исполняемым, если да, то определяет тип исполняемого файла
BOOL GetBinarytype(
LPCTSTR AppName,
LPDWORD BinType)
Типы:
SCS_WIN32_BINARY
SCS_WIN64_BINARY
SCS_DOS_BINARY
SCS_OS216_BINARY
SCS_PIF_BINARY — устаревший вариант ярлыка на старую DOS программу
SCS_POSIX_BINARY — исполняемый файл, требующий POSIX
SCS_WOW_BINARY — 16 битные приложения от Windows 3.1
BOOL CreateDirectory (
LPCTSTR DirName, // имя каталога
LPSCURITY_ATTRIBUTES Attr) // атрибуты безопасности
|
|
int open (
const char *fname,
int flags,
mdoe_t mode) // режимы
Флаги:
O_CERATE — создать, если нету.
O_EXCL — используется вместе с O_CREATE — должны только создать, если файл существует — ошибка.
O_TRUNC — обрезать содержимое файла при открытии
O_APPEND — открыть в режиме добавления (прерд каждой записью указатель автоматически устанавливается в конец)
O_PIRECT — не кэшировать
O_LARGEFILE — открыть файл, если он больше 4 Гб.
R — для каталогов — означает: получить список находящихся в нем файлов
W — право добавлять (создавать) или удалять файлы в каталоге
X — право находиться в каталоге (это право влияет на все подкаталоги)
Пример:
/а 0700 — права доступа — 111 000 000
/а/в - 111 111 111