им не удалось выяснить, почему мои файлы не копируются. Вот краткая часть кода:повысить файловую систему copy_file «успешно», но файлы не скопированы
(dir_itr
является directory_iterator & root
является путь)
if (!(is_directory(dir_itr->path())))
{
cout << "copying: " << dir_itr->path().filename() << endl;
try
{
copy(dir_itr->path(), root);
remove(dir_itr->path());
} catch (filesystem_error& ex) {
//more code
Результаты являются в окне командной строки:
boost::filesystem::copy_file: The operation completed successfully:
"C:\Documents and Settings\R\Desktop\New Folder\New Folder (2)\New Bitmap Image 3.bmp",
"C:\Documents and Settings\R\Desktop\New Folder"
Однако никакие файлы не являются скопировано.
я в основном просто пытался переместить указанный файл из папки c:\x\y\file.file
в c:\x
Я предполагаю, почему я не могу двигаться это потому, что мне нужно полное имя файла, а не просто каталог или что-то? Если это так, как мне преобразовать корень пути в строку, чтобы я мог добавить к нему имя файла? (Им получаешь тысячу ошибок, если я даже попробовать, они так долго я не могу прокручивать весь путь обратно в окно, чтобы увидеть, где он начинается)
Ваш результат не соответствует вашему исходному коду. Я не вижу никаких «копирующих» 'операторов. –
О, я не копировал весь вывод, потому что theres loopstatement там и намного больше cout's. «boost :: filesystem :: copy_file: операция успешно завершена:« плюс следующие две строки »- это то, что автоматически печатается файловой системой boost, когда вы используете функцию copy_file, вывод действительно не проблема, его просто я не вижу никаких результатов. – user1324674
Я довольно сомневаюсь, что функции 'boost :: filesystem' фактически выводят строки как часть их работы. Вы уверены, что это не что-то другое? –