Функция DeleteFile

Функция DeleteFile удаляет существующий файл.

Синтаксис

BOOL DeleteFile(
  LPCTSTR lpFileName   // имя файла
);

Параметры

lpFileName

[in] Указатель на символьную строку с нулем в конце, которая определяет удаляемый файл.

Windows NT/2000/XP: В версии ANSI этой функции, имя ограничено  символами значения MAX_PATH. Чтобы выйти за пределы этого ограничения до длины 32 767 символов, вызовите Unicode версию этой функции и присоедините спереди пути "\\?\". Подробную информацию см. в статье Именование файлов.

Windows 95/98/Me: Эта символьная строка не должна выходить за пределы количества  символов значения MAX_PATH.

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение - не нуль .

Если функция завершается с ошибкой, величина возвращаемого значения - нуль. Чтобы получить дополнительные сведения об ошибке, вызовите GetLastError.

Замечания

Если приложение пытается удалить файл, который не существует, функция DeleteFile завершается ошибкой. Если файл - только для чтения, функция завершается ошибкой ERROR_ACCESS_DENIED. Чтобы удалить файл только для чтения, Вы должны сначала удалить атрибут "только для чтения".

Чтобы удалить или переименовать файл, Вы должны иметь, или  разрешение на удаление файла, или разрешение на удаление дочернего элемента в родительской директории. Если Вы установили каталог с полным доступом, кроме удаления, и удаляйте дочерний элемент, а списки контроля доступа (ACL) новых файлов наследуются, тогда вам следует получить возможность создавать файл, не получая возможности удалять его. Несмотря на это, Вы можете далее создать файл, и получите весь доступ, который Вы запрашиваете дескриптором, возвращенным Вам при создании файла. Если Вам требуется  разрешение удалять, когда  создавался файл, Вы можете  удалить или переименовать его с этим дескриптором, но не с каким-либо другим. Подробную информацию, см. в статье Защита файла и права доступа.

Функция DeleteFile завершается ошибкой, если приложение пытается удалять файл, который является открытым для нормального ввода - вывода (I/O) или как отображенный в памяти файл.

Windows 95/98/Me: Функция DeleteFile удаляет файл, даже если он является открытым для нормального ввода - вывода (I/O) или как файл отображаемый в памяти. Чтобы воспрепятствовать потере данных, закрывайте файлы перед попыткой удалять их.

Чтобы закрыть открытый файл, используйте функцию CloseHandle.

Функция DeleteFile отмечает файл для удаления при закрытии. Поэтому, удаление файла не происходит до тех пор, пока последний дескриптор файла не будет закрыт. Последующие вызовы функции CreateFile, чтобы открыть файл, завершаются ошибкой ERROR_ACCESS_DENIED.

Код примера

 Пример смотри в статье Создание и открытие файлов.

Смотри также 

Обзор Управление файламиФункции, используемые в управлении файлами, CloseHandle, CreateFile 

Размещение и совместимость DeleteFile

К

Windows XP

Да 

л

Windows 2000 Professional

Да

и

Windows NT Workstation

Да

е

Windows Me

Да 

н

Windows 98

Да 

т

Windows 95

Да 

 
С

Windows Server 2003

Да

е Windows 2000 Server Да
р Windows NT Server Нет
в    
е    
р    

Используемая библиотека

Kernel32.lib

Используемая DLL -
 Заголовочный файл  

- объявлено в

Winbase.h

 - включено в

Windows.h

 Unicode

Реализуется как версии Unicode и  ANSI для Windows 2000/XP. А также поддерживается программой Microsoft Layer for Unicode.

 Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz