怎样用VC代码复制一个文件夹(包括内文件

怎样用VC代码复制一个文件夹(包括内文件,第1张

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

解析:

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

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

然后:

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

然后循环调用:CFileFind::FindNextFile

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

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

CFileFind::IsDirectory

如果是文件,那么CopyFile

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

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

最后面:

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

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

CreateDirectory

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

文件复制出现错误代码0x80070570建议进行系统还原,步骤如下:(演示使用WIN10系统,其他Windows版本 *** 作大致相同)

1丶开始->搜索“创建还原点”并点击右侧的”打开“按钮。

2丶选择“系统还原”。

3丶选中“选择另一还原点”,点击下一步。

4丶选中你的计算机可以正常进行文件复制时的还原点,继续点击下一步按钮,等待系统还原完成即可。

1 以只读方式打开第一个文件

2 以写方式打开第二个文件

3 循环读取字符,并写入第二个文件。直到遇到EOF结束。

4 关闭文件。

代码:

#include <stdio.h>

int main()

{

    FILE *f1, *f2

    int c

    f1 = fopen("in.txt", "rb")

    f2 = fopen("out.txt", "wb")//将in.txt复制为out.txt

    while((c = fgetc(f1)) != EOF)

        fputc(c,f2)

    fcloseall()

    

    return 0    

}


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

原文地址: http://outofmemory.cn/tougao/11531756.html

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

发表评论

登录后才能评论

评论列表(0条)

保存