Хотя я прочитал несколько ранее ответивших вопросов, касающихся аналогичной проблемы, я пока не понимаю, как идти дальше. Это сценарий:Проверьте, открыт ли указатель файла, а затем удалите его в C++
Мне нужно удалить несколько временных файлов, но затем они не удаляются. Во время отладки я понял, что даже ручная попытка удалить файлы не удаляет их. Поэтому я пришел к выводу, что некоторые указатели на файлы еще не закрыты, но я не могу удалить файл.
Но тогда эти указатели файлов используются в некоторых частях кода, которые мне недоступны. Это оставляет мне только одно решение (возможно), чтобы проверить, открыт ли указатель файла и удалить его.
или есть ли другой способ справиться с ситуацией?
В системах POSIX, если вы [ 'unlink'] (http://linux.die.net/man/3/unlink) файл, и он открыт в том же процессе, он будет удален, если файл закрыт. –
Ну, вы уже описали решение. Попытайтесь удалить, если он не прошел проверку кода ошибки, чтобы узнать, не удалось ли это из-за открытого файла. – Erik
Благодарим вас за возможные решения. :) – Darzen