关于移动文件夹到不同路径的问题
我是想将E盘的test文件夹所有内容移动到F盘(F盘是没有test文件夹的),并新建一个test文件,存进去.
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags = FOF_NOCONFIRMATION| //不出现确认对话框
FOF_NOCONFIRMMKDIR ; //需要时直接创建一个文件夹,不需用户确定
FileOp.pFrom = "E:\\test";
FileOp.pTo = "F:\\test";
FileOp.wFunc = FO_MOVE;
SHFileOperation(&FileOp) == 0; //当我执行此语句时,弹出"无法读源文件或磁盘",但是我手动剪切移动文件夹时可以操作的,也就是说文件夹和里面的文件没被进程占用
请帮忙看看有什么问题?窗口句柄我是用NULL的
[解决办法]
是啊,直接用CString有问题的,只认一个\0
我一般这么写:
int nLength = sPathName.GetLength();
char *NewPath = new char[nLength+2];
strcpy(NewPath,sPathName);
NewPath[nLength] = '\0';
NewPath[nLength+1] = '\0';
FileOp.pFrom = NewPath;
执行完后再 delete []NewPath;