SHFileOperation 复制文件出错的问题

char strOldTitle[256];
ZeroMemory(strOldTitle,256);
strcpy(strOldTitle,sz);
strcat(strOldTitle,strDBdir);
strcat(strOldTitle,"title");
len = strlen(strOldTitle);
strOldTitle[len]='/0';
CreateDirectory("c://Program Files//title",NULL);
CopyFolder(strOldTitle, "c://Program Files");

BOOL CopyFolder(LPCTSTR lpszFromPath,LPCTSTR lpszToPath)
{
    SHFILEOPSTRUCT FileOp;
    ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));
    FileOp.fFlags = FOF_NOCONFIRMATION ;
    FileOp.hNameMappings = NULL;
    FileOp.hwnd = NULL;
    FileOp.lpszProgressTitle = NULL;
    FileOp.pFrom = lpszFromPath;
    FileOp.pTo = lpszToPath;
    FileOp.wFunc = FO_COPY;
    return SHFileOperation(&FileOp) == 0;
}

复制出错一般都是给pFrom,pTo赋值出了错,我试了一下,直接:

pFrom = “c:/a”,pTo = “c:/b”也是不行的,有两种方法是可取的:

1.用c语言风格的字符串数组,(不要用c++的string类),我试过了

2.用MFC的CString类,没试过

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值