Попытка удалить файл, повторяющийся той же самой программой - PullRequest
0 голосов
/ 25 сентября 2019

Как гласит заголовок, я сканирую файлы в каталоге через каждые несколько секунд, используя цикл.Примерно так ...

        if (now >= nextTime)
        {
            for (const auto& entry : fs::directory_iterator(folderName))
            {
                filename.push_back(entry.path().filename().u8string());
                totalFilesNum++;
            }
         }
...

По сути, он повторяет один и тот же код каждые несколько секунд nextTime и делает его супер интерактивным.Он выводит данные файла (имя, размер и т. Д.) Каждые несколько секунд.Скажем, я вручную добавляю новый файл в каталог, это тоже учитывается.

Пока все хорошо.Теперь проблема в том, когда я пытаюсь удалить один из файлов в каталоге.Это не позволяет мне сделать это и вместо этого выдает unhandled exception.Ниже приведен мой код для удаления файла.

void RemoveFile()
{
    std::string folderName = "files";

    for (const auto& entry : fs::directory_iterator(folderName))
    {
        if (entry.path().filename() == "25-Sep-19 9 03 18 PM.jpeg")
        {
            std::filesystem::remove(entry.path().c_str());
        }
        else {}
    }

Для записи, используя тот же код, я пытался удалить / удалить файл в другом каталоге, и он работает нормально.Просто изменили каталог std::string folderName = "files_B" с тем же именем файла, и он был удален.Любая помощь приветствуется.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...