Проблема с функцией CopyFile()

166
09 марта 2018, 15:37

Пишу код, который предусматривает копирование файла. Решил пока использовать функцию CopyFile(...).

Собственно проблема, когда использую что-то вроде этого:

void copy_files(List<Photo> &list, const string &dir)
{
    for (size_t i = 0; i < list.Get_Size(); i++)
    {
        string old_name = dir + list[i].Get_name();
        string new_name = dir + NEW_DIRECTION + to_string(i) + JPG;
        CopyFile(old_name.c_str(), "D://0.jpg", false);
    }
}

Всё работает, правда не так как хочется. Файл копируется, но каждый цикл просто перезаписывает новый файл в константное название, что, конечно, не дело. Хочется, чтобы работало вот это:

void copy_files(List<Photo> &list, const string &dir)
{
    for (size_t i = 0; i < list.Get_Size(); i++)
    {
        string old_name = dir + list[i].Get_name();
        string new_name = dir + NEW_DIRECTION + to_string(i) + JPG;
        CopyFile(old_name.c_str(), new_name.c_str(), false);
    }
}

Но в таком случае файл по указанному адресу не создаётся. Пробовал так же писать новый путь константой "D:\new\0.jpg", так же не давало результатов. Видимо, что-то не понимаю в работе функции.

на всякий:

#define NEW_DIRECTION "PhotoSorting_result\\"
#define JPG ".jpg"

код пишу в MS_VS_2017 язык С++

READ ALSO
MATHFUNCSDLL_EXPORTS

MATHFUNCSDLL_EXPORTS

Что делает данный код

165
Оптимизация бесконечного цикла

Оптимизация бесконечного цикла

Периодически использую бесконечные циклы в отдельных потоках, например, для постоянного мониторинга новых сообщенийЕстественно, простая...

160
Передача константы в функцию С++

Передача константы в функцию С++

Имеем функцию работы с реестром:

179