我希望在搜索操作后从vector <wstring>
获取文件名我要将vecAviFiles
上的所有文件复制到另一条路径(例如D:\ Test)。
int main()
{
int iRC = 0;
std::vector<std::wstring> vecAviFiles;
std::wstring fileCopiedDestination = L"D:\\";
// Search 'c:' for '.avi' files including subdirectories
iRC = SearchDirectory(vecAviFiles, L"c:\\", L"doc");
if(iRC)
{
std::cout << "Error " << iRC << std::endl;
return -1;
}
// Print results
for(std::vector<std::wstring>::iterator iterAvi = vecAviFiles.begin(); iterAvi != vecAviFiles.end(); ++iterAvi)
{
std::wcout << *iterAvi << std::endl;
copy_file(*iterAvi,fileCopiedDestination + path::filename(*iterAvi));
}
return 0;
}
问题在于此函数(它不起作用)的boost库copy_file(*iterAvi,fileCopiedDestination + path::filename(*iterAvi));
如何获取文件名以将其添加到fileCopiedDestination
路径。
或者如何使用WIN API
CopyFileW(Input.c_str(),filename(Input.c_str()) , TRUE);
我认为一切都很清楚。
答案 0 :(得分:1)
这应该可以满足您的需求:
path destination = fileCopiedDestination / path(*iterAvi).filename();
copy_file(*iterAvi, destination);
如果您将vecAviFiles
存储为vector<path>
可能会更好,那么代码会更短一些:
path destination = fileCopiedDestination / iterAvi->filename();