Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Функции FindFirstFile и FindNextFile позволяют получать следующую информацию об атрибутах файла: флаги атрибутов, три штампа времени и размер файла. Для работы с атрибутами есть несколько других функций, включая ту, что позволяет их устанавливать, и они могут работать непосредственно с дескриптором открытого файла без просмотра каталога или указания имени файла. Три таких функции, GetFileSize, GetFileSizeEx и SetEndOfFile, были описаны выше.
Другие функции служат для получения остальных атрибутов. Например, для получения штампов времени открытого файла предназначена следующая функция:
BOOL GetFileTime (HANDLE hFile, LPFILETIME lpftCreation, LPFILETIME lpftLastAccess, LPFILETTMF lpftLastWrite)
Значения времени здесь и в структуре WIN32_FIND_DATA — 64-разрядные целые числа без знака, указывающие 100-наносекундных единиц (107 единиц в секунду), прошедших с исходного времени (1 января 1601 г.), в форме всеобщего скоординированного времени (Universal Coordinated Time — UTC). Существует несколько удобных функций для работы со временем.
• FileTimeToSystemTime выражает время файла в более привычных единицах — от лет до секунд и миллисекунд. Эта форма более пригодна, например, для отображения или вывода времени.
• SystemTimeToFileTime производит обратное преобразование: времени, выраженного в этих единицах, во время файла.
• CompareFileTime определяет, новее ли один файл, чем другой (-1), старше ли (+1) или их возрасты равны (0).
• SetFileTime изменяет штампы времени; временные параметры, которые не
надо изменять, указываются в вызове функции как 0. NTFS поддерживает все
три временных параметрах, но FAT дает точный результат только для времени
последнего доступа.
• FileTimeToLocalFileTime и LocalFileTimeToFileTime преобразуют UTC в
местное время и обратно.
Функция GetFileType позволяет различать дисковые файлы, символьные файлы (фактически это устройства наподобие принтеров и консолей) и каналы. Здесь файл также указывается своим дескриптором.
Функция GetFileAttributes по указанному имени файла и каталога возвращает только атрибуты.
DWORD GetFileAttributes (LPCTSTR lpszFileName)
Возвращаемое значение: атрибуты файла или 0xFFFFFFFF в случае неудачи.
Атрибуты можно проверить на соответствие комбинациям определенных значений. Некоторые атрибуты, такие как флаг временного файла, устанавливаются при вызове CreateFile. Значения атрибутов могут быть следующими:
FILE_ATTRIBUTE_DIRECTORY FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_TEMPORARY
Функция SetFileAttributes изменяет эти атрибуты в указанном по имени файле.
Дата публикования: 2015-11-01; Прочитано: 369 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!