我正在尝试使用Windows CopyFile函数复制一个文件,并将其重命名为另一个文件夹中的另一个文件。但是,即使我给出的路径是正确的,文件和文件夹都存在,它总是返回路径有问题。我究竟做错了什么?
使用“C:\ Dummy.png”作为源,使用“C:\ Dest”作为目标。
void CreateDummyItemsAssetsPNG()
{
string DummyAsset;
string dummyDestination;
cout<<"Please Provide dummy file asset that is a .png: ";
cin>>DummyAsset;
cout<<"Please Provide a Destination: ";
cin>>dummyDestination;
vector<string>::iterator itor;
string fullDest;
for(itor = listOfItems.begin(); itor<listOfItems.end(); ++itor)
{
fullDest.clear();
fullDest = dummyDestination + "\\"+ (*itor)+".png";
cout<<"Copy: "<<DummyAsset<<" TO: "<<fullDest<<endl;
if(!CopyFile(LPCTSTR(DummyAsset.c_str()),LPCTSTR(dummyDestination.c_str()),false) )
{
printf("Could not copy file.\n");
cout<<GetLastError()<<endl;
}
}
}
谢谢!
答案 0 :(得分:5)
CopyFile()
期望文件 name 作为第二个参数,而您只传递目标目录。指定全名(您似乎在fullDest
中执行此操作),这应该有效。