解析:
首先:如果目标文件夹与原文件夹不在同一目录,可以与原文件夹同名,先判断此目标文件夹是否已经存在,如果存在,就不需要创建了~然后进行后面的步骤。如果目标文件夹复制到原文件夹所在的位置就改一个不同的名字,习惯上在名字前面加“复件 原文件夹名”如果“复件 原文件夹名”已经存在,便“复件(2)原文件夹名”……直到不重名为止。
(那么怎么实现呢?请楼主看最后面。)
然后:
CFileFind::FindFile 开始准备文件的查找,第一个参数传所要复制的文件夹地址+ “*.*”,为的是准备查找此文件夹内所以文件与文件夹
然后循环调用:CFileFind::FindNextFile
开始真正的查找,直到返回值为0时停止,这时说明全部被找过。(此函数每调用一次找到一个文件或文件夹)。
那么如何判断此次找到的是文件还是夹呢?用下面的函数
CFileFind::IsDirectory
如果是文件,那么CopyFile
如果是文件夹,那么在所匹配的位置上进行文件夹处理,如果处理,请看最后面。
可以使用递归的方法复制它正面的子文件夹与子文件夹的子文件夹……,方法也是上面所说,只是得使用递归方法。
最后面:
判断文件夹是否存在:用上面所说的那几个函数就可以实现,如果楼主不是个懒惰的人,多看帮助吧!
如果需要创建空文件夹,那么
CreateDirectory
应该有很多更好的方法,但我也能力有限,请楼主多包含啦。
分类: 电脑/网络 >> *** 作系统/系统故障解析:
我记得有File类吧?用这个类就行啊。
1。建新文件夹,
2穷举出源文件夹中的文件,开始循环
读源文件,写新文件,指针移动到下一个文件
循环结束
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)