怎么用C++ MFC 复制文件?

来源:百度知道 编辑:UC知道 时间:2024/05/24 11:28:37
就是做个对话框,然后输入原文件路径,复制到输入的目的路径?

如果是复制文件夹,怎么弄?

你是不是说的复制文件?是的话方法多的很。
比如要复制C:\cmd.exe至D:\dir\2下,并重命名为cmd_new.exe,方法如下:
system("copy c:\\cmd.exe d:\\dir\\2\\cmd_new.exe");
就相当于是在执行MS-DOS命令。这是在控制台下使用的,不过我想你应该够用了。
在MFC下可以用CopyFile()函数,定义如下:
BOOL CopyFile(
LPCTSTR lpExistingFileName,
// pointer to name of an existing file
LPCTSTR lpNewFileName, // pointer to filename to copy to
BOOL bFailIfExists // flag for operation if file exists
);

可以用shell编程
我大致写了一下,但是没有作非法检测

#include <shellapi.h>

void XCopy(LPCTSTR lpszSourceDir, LPCTSTR lpszDestDir)
{
SHFILEOPSTRUCT fop;

memset(&fop, 0, sizeof(fop));
fop.wFunc = FO_COPY;
fop.pFrom = lpszSourceDir;
fop.pTo = lpszDestDir;
fop.fFlags = FOF_NOCONFIRMATION;
SHFileOperation(&fop);
}

CopyFile
BOOL CopyFile(
LPCTSTR lpExistingFileName,//元文件地址
LPCTSTR lpNewFileName,//目的文件