Почему вылетает исключение при копирование файла (filesystem C++)

Мне нужно создать функцию, принимающую директорию. С этой директории, все файлы формата txt переместить в папку test.

Снизу виден код, вылетает ошибка.

vector<string> files = getAllFiles(dir); 
    for (auto f : files) {
        if (f.substr(f.find_last_of(".") + 1) == "txt") {
            filesystem::path from(f), to("D:\\books\\test");
            filesystem::rename(from, to);
        }
    }

введите сюда описание изображения

В векторе хранится ссылки на файл. Получил я их таким способом -

vector<string> getAllFiles(string dir)
{
    vector<string> files;

    for (auto i = filesystem::directory_iterator(dir); i != filesystem::directory_iterator(); i++)
    {
        if (!is_directory(i->path()))
        {
            files.push_back(i->path().string());
        }
        else
            continue;
    }

    return files;
}

Ответы (0 шт):