0

我正在尝试使用 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; 
        }
    }
}

谢谢!

4

1 回答 1

5

CopyFile()需要一个文件作为第二个参数,而您只传递目标目录。指定全名(您似乎在 中所做的fullDest),这应该可以。

于 2012-07-19T22:46:11.507 回答