Проверьте, открыт ли указатель файла, а затем удалите его в C++
Несмотря на то, что я прочитал несколько ранее отвеченных вопросов, касающихся аналогичной проблемы, я еще не знаю, как действовать дальше. Это сценарий:
Мне нужно удалить несколько временных файлов, но тогда они не удаляются. Во время отладки я понял, что даже попытка удалить файлы вручную не удаляет их. Поэтому я пришел к выводу, что какой-то указатель файла еще не закрыт, что не позволяет мне удалить файл.
Но затем эти файловые указатели используются в тех частях кода, которые мне недоступны. Это оставляет мне только одно решение (возможно), чтобы проверить, открыт ли указатель файла и удалить его.
или есть другой способ справиться с ситуацией??
1 ответ
Если вы используете ОС Windows, вы можете использовать функцию MoveFileEx.
Это позволяет вам пометить файл для удаления после перезагрузки.
MoveFileEx(lpExistingFileName, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);