vc复制指定文件夹以及文件夹内的内容

1、拷贝文件夹以及文件夹内的文件

BOOL CMainFrame::CopyFolder(LPCTSTR lpszTo, LPCTSTR lpszFrom)//拷贝文件夹
{ 
 SHFILEOPSTRUCT FileOp; 
	SecureZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));//secureZeroMemory和ZeroMerory的区别
	//根据MSDN上,ZeryMerory在当缓冲区的字符串超出生命周期的时候,
	//会被编译器优化,从而缓冲区的内容会被恶意软件捕捉到。
	//引起软件安全问题,特别是对于密码这些比较敏感的信息而说。
	//而SecureZeroMemory则不会引发此问题,保证缓冲区的内容会被正确的清零。
	//如果涉及到比较敏感的内容,尽量使用SecureZeroMemory函数。

	FileOp.fFlags = FOF_NOCONFIRMATION | FOF_RENAMEONCOLLISION;		//操作与确认标志 
	FileOp.hNameMappings = NULL;			//文件映射 
	FileOp.hwnd = NULL;						//消息发送的窗口句柄;
	FileOp.lpszProgressTitle = NULL;		//文件操作进度窗口标题 
	FileOp.pFrom = lpszFrom;				//源文件及路径 
	FileOp.pTo = lpszTo;					//目标文件及路径 
	FileOp.wFunc = FO_COPY;					//操作类型 

	return SHFileOperation(&FileOp) == 0;
}

//2016.6.1日跟新,解决了有时候无法复制的问题

BOOL CMainFrame::CopyFolder(CString lpszTo, CString lpszFrom)//拷贝文件夹
{
	CHAR szFromPath[_MAX_PATH];//源文件路径
	memcpy(szFromPath, lpszFrom, lpszFrom.GetLength());
	szFromPath[lpszFrom.GetLength() + 1] = '\0';//必须要以“\0\0”结尾,不然删除不了
	szFromPath[lpszFrom.GetLength() + 2] = '\0';
	SHFILEOPSTRUCT FileOp; 
	SecureZeroMemory((void*)&FileOp, sizeof(SHFILEOPSTRUCT));//secureZeroMemory和ZeroMerory的区别
	//根据MSDN上,ZeryMerory在当缓冲区的字符串超出生命周期的时候,
	//会被编译器优化,从而缓冲区的内容会被恶意软件捕捉到。
	//引起软件安全问题,特别是对于密码这些比较敏感的信息而说。
	//而SecureZeroMemory则不会引发此问题,保证缓冲区的内容会被正确的清零。
	//如果涉及到比较敏感的内容,尽量使用SecureZeroMemory函数。
	FileOp.fFlags = FOF_NOCONFIRMATION; //操作与确认标志 
	FileOp.hNameMappings = NULL; //文件映射
	FileOp.hwnd = NULL; //消息发送的窗口句柄;
	FileOp.lpszProgressTitle = NULL; //文件操作进度窗口标题 
	FileOp.pFrom = szFromPath; //源文件及路径 
	FileOp.pTo = lpszTo; //目标文件及路径 
	FileOp.wFunc = FO_COPY; //操作类型 
	return SHFileOperation(&FileOp) == 0;
}



2、拷贝单个文件

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 
); 
其中各参数的意义: 
LPCTSTR lpExistingFileName, // 你要拷贝的源文件名 
LPCTSTR lpNewFileName, // 你要拷贝的目标文件名 
BOOL bFailIfExists // 如果目标已经存在,不拷贝(True)并返回False,覆盖目标(false) 

如: 
//拷贝文件c:\log.txt到d:\log.txt,如果D:\log.txt已经存在,就覆盖 
CopyFile("c:\\log.txt","d:\\log.txt",false);  

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VC是Visual C++的简称,是微软公司开发的一种软件开发工具,用于C++语言的编程。在编写C++程序的过程中,VC提供了丰富的功能和组件,可以简化开发者的工作,提高开发效率。 下载则是指从互联网或其他电子设备上获取数据的过程。在网络时代,下载成为了一个普遍的概念,人们可以通过下载方式获取各种类型的资料,包括软件、电影、音乐、图片等等。 而matrix.zip则是一个文件名,其中的zip表示这是一个压缩文件,包含了一个名为matrix的文件夹或文件。在下载这个文件之后,用户需要使用解压缩工具将其解压成原文件或文件夹,在需要的时候才能使用。 综上,"vc,下载,matrix.zip"指的是使用VC编写程序,并下载一个名为matrix.zip的压缩文件,其中包含了需要的文件或文件夹。参数和具体使用方法需要根据具体情况进行设置和操作。 ### 回答2: vc是一种编程语言,下载表示从互联网上获取文件或数据,而matrix.zip则是一个压缩文件的名称。要下载matrix.zip,首先需要有一个可用的互联网连接和一个设备,如计算机或手机。接下来,可以在搜索引擎或者网站上搜索"vc下载matrix.zip"来找到相关的下载链接。 一旦找到了合适的链接,点击或复制该链接,并在浏览器中打开。这将启动下载过程,文件将开始从服务器传输到设备上。下载速度取决于设备的速度和互联网连接的稳定性。 一旦文件下载完成,它将以matrix.zip的形式保存在设备上的特定位置,如下载文件夹。接下来,可以使用解压缩软件,如WinRAR或7-Zip,来解压缩matrix.zip文件。解压缩意味着将压缩的文件转换为原始的文件格式。 打开解压缩软件,并在其界面中导航到matrix.zip所保存的位置。选择该文件并点击解压缩按钮。软件将开始解压缩过程,将matrix.zip中的内容提取到指定文件夹中。 一旦解压缩完成,可以在指定文件夹中找到matrix.zip中的文件。这些文件可能是软件、文档、图像或其他数据。根据需要,可以使用这些文件进行相应的操作,如安装软件、编辑文档或查看图像。 在整个过程中,需要确保设备正常工作,有稳定的互联网连接,并谨慎处理下载的文件。如果下载的文件不可信或存在风险,建议不要打开或使用。 ### 回答3: "vc,下载,matrix.zip." 是一个指令,要求下载一个名为 "matrix.zip" 的文件。 VC指的是Visual C++,这是一款由微软公司开发的C++集成开发环境。它集成了代码编辑器、编译器、调试器等工具,适用于开发Windows平台的软件。 下载是指从互联网上获取某个文件的过程。在下载一个文件之前,你需要知道文件的下载地址或者路径。 "matrix.zip" 是一个文件名,它可能是一个存档文件。ZIP是一种常见的文件压缩格式,可以将多个文件和目录进行压缩。解压缩后,可以获得原始的文件或文件夹。 要执行这个指令,你可以使用互联网浏览器或者命令行工具。如果你在浏览器中执行这个指令,你可以在搜索引擎中搜索 "VC下载",然后浏览搜索结果,找到适合的下载链接,点击下载链接即可。如果你使用命令行工具,你可以使用类似wget、curl等命令行工具,通过指定下载链接进行下载。 在下载完成后,你可以通过解压缩工具(如WinRAR、7-Zip等)对 "matrix.zip" 进行解压缩。解压缩后,你将获得原始的文件或文件夹
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值