Функция DeleteFile удаляет существующий файл.
BOOL DeleteFile(
LPCTSTR lpFileName
);
Параметры:
lpFileName |
Адрес нульзаканчивающейся строки, которая определяет имя удаляемого файла.
В ANSI-версия этой функции, имя ограничено в MAX_PATH символов. Для увеличения этого предела до 32,767 широких символов, вызывайте Unicode-версию функции, добавив к пути "\\?\".
Windows Me/98/95: Эта строка не должна превышать MAX_PATH символов. |
Возвращаемые значения:
Если вызов функции успешен, возвращается ненулевое значение.
При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызывайте GetLastError.
Замечания:
Если приложение пытается удалить несуществующий файл, функция DeleteFile завершится с ошибкой ERROR_FILE_NOT_FOUND. Если это файл только-для-чтения, функция завершится с ошибкой ERROR_ACCESS_DENIED.
Следующий список описывает некоторые особенности удаления, замещения, или закрытия файлов:
- Для удаления файла только-для-чтения, сначала вы должны очистить его атрибут только-для-чтения.
- Для удаления или переименования файла, вы должны иметь либо доступ на удаление файла, либо дочерний доступ на удаление в родительской директории.
- Для рекурсивного удаления файлов в директории, воспользуйтесь функцией SHFileOperation.
- Для удаления пустой директории, воспользуйтесь функцией RemoveDirectory.
- Для закрытия открытого файла, воспользуйтесь функцией CloseHandle.
Если вы запрашиваете доступ на удаление во время создания файла, вы можете удалить или переименовать файл с этим дескриптором, но не с любым другим.
Функция DeleteFile помечает файл на удаление при закрытии. Поэтому, удаление файла не происходит, пока не будет закрыт последний дескриптор файла. Последующие вызовы CreateFile для открытия файла, возвратятся с ошибкой ERROR_ACCESS_DENIED.
Если путь указывает на символическую ссылку, удаляется символическая ссылка, но не цель ссылки. Для удаления цели ссылки, вы должны вызвыть CreateFile и задать FILE_FLAG_DELETE_ON_CLOSE.
Смотрите также:
|