用VC++开发一个小程序,关于文件夹复制。

用VC++开发一个小程序,关于文件夹复制。,第1张

3.28 icePub_copyFiles

l 函数原型:

int WINAPI icePub_copyFiles(char *strFromPath,char *strToPath)

输入:strFromPath 源启坦旅路径名

strToPath 目信歼标路径名

输出悄凳:

VC sample代码:

int copyFiles(char *strFromPath,char *strToPath)

{

typedef int (WINAPI ICEPUB_COPYFILES)(char *strFromPath,char *strToPath)

ICEPUB_COPYFILES *icePub_copyFiles = 0

HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll")

if(hDLLDrv)

{

icePub_copyFiles = (ICEPUB_COPYFILES *)GetProcAddress(hDLLDrv, "icePub_copyFiles")

}

if(icePub_copyFiles)

icePub_copyFiles(strFromPath,strToPath)

if(hDLLDrv)

FreeLibrary(hDLLDrv)

return 0

}

copyFiles("c:\\program files\\iceIE\\","D:\\tools\\")

http://dl.icese.net/dev.php?f=icePubDll.rar 下载

Vc++把小程序编到别的盘上的具体 *** 作步骤如下:

建立文本文件,起名为.cpp后缀,然后一行行写入文本内容,最后关闭文件即可,使用文件名打神返开文件,文件名可以包含路径,比如:fp=fopen("c:\\data\\data.txt","w+")

Microsoft Visual C++(简称Visual C++、MSVC、VS或VC)是微软公司的免费C++开发工具,具有集成开发环境,可提供编辑C语言,C++以游蔽饥及C++/CLI等编程语言。VC++集成了便利的除错工具,特别是集成了微软Windows视窗 *** 作系统应用程序接口(Windows API)、三并如维动画DirectX API,Microsoft .NET框架。

分类: 电脑/网络 >>程序设计 >>其他编高穗祥程语言

解析:

首先:如果目标文件夹与原文件夹不在同一目录,可以与原文件夹同名,先判断此目标文件夹是否已经存在,如果存在,就不需要创建了~然后进行后面的步骤。如果目标文件夹复制到原文件夹所在的位置就改一个不同的名字,习惯上在名字前面加“复件 原文件夹名”如果“复件 原文件夹名”已经存在,便“复件(2)原文件夹名”……直到不重名为止。

(那么怎么实现呢?请楼主看最后面。)

然后:

CFileFind::FindFile 开始准备文件的查找,第一个参数传所要复制的文件夹地址+ “*.*”,为的是准备查找此文件夹内所以文件与文件夹

然后循环调用:CFileFind::FindNextFile

开始真正的查找,直到返回值为0时停止,这时说明全部被找过。(此函数每调用一次找到一个文件或文件夹)。

那么如何判断此次找到的是文件还是夹呢?用下面的函数

CFileFind::IsDirectory

如果是文件族耐,那么CopyFile

如果是文件夹,那么在所匹配的位置上进行文件夹处理,如果处理,请看最后面。

可以使用递归的方法复制它正面的子文件夹与子文件夹的子文件夹……,方法也是上面所说,只是得使用递归方法。

最后面:

判断文件夹是否存在:用上面所说的那几个函数就可以实现,如果楼主不是个懒惰的人,多看帮助吧!

如果需要创建空文件夹,那么

CreateDirectory

应该有很多更好的戚搏方法,但我也能力有限,请楼主多包含啦。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12458837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存