
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
}
有两种方式可以实现复制:一、自行编写函数,实现复制。
算法流程如下:
1
以读的方式打开源文件,以写的方式打开目标文件;
2
每次读一个字节,并写到目标文件中,直到达到文件结尾为止;
3
关闭两个文件。
二、调用系统命令。
stdlib.h中的system函数,可以执行系统命令行支持的命令。
int
system(char
*cmd)
调用时就是执行cmd中的指令。
1
对于windows,就是执行dos命令,可以调用
system("copy
/Y
src_file
target_dir")
其中src_file为源文件,而target_dir就是目标文件夹。
2
对于Linux,需要执行shell命令cp,如下
system("cp
src_file
target_dir")
rb方式打开
是用
2
进制方法打开,只读文件。不能写。如果是
rb+
就可以读写。
如果要把这个文件的内容复制到另一个文件,打开它,读入。
在写另一个文件,在执行写语句以前打开文件就可以,不一定一开始就打开。
可以读一段,写一段,也可以全部读入,再写出。
最后关闭文件。
当然,要是调用DOS
复制命令:
system("copy
file_A.txt
file_B.txt")
不用自己打开和读写了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)