步骤:
1.打开两个文件,第一个文件是被复制的对象;
2.用一个变量存储读从第一个文件中读取到的字符;
3.把该变量里的字符写入到第二个文件中
至此便完成了对文件的复制。
#include <stdio.h>
int main(int argc, char *argv[])//argc:命令行参数的个数 argv:指针数组,存命令行参数的字符串
{
if(argc != 3)//输入三个参数
{
printf("Usage: %s <src_filename> <dst_filename>\n",argv[0]);//<src_filename>:源文件名dst_filename>:目标文件名
return -1;
}
FILE *fp1 = fopen(argv[1], "r+");//源文件,即第一个文件,只需要读取,可以用 "r+/w+"
if(NULL == fp1)
{
perror("open");
return -1;
}
FILE *fp2 = fopen(argv[2], "w+");//目标文件,即第二个文件,需要写入,如果不存在就创建
if(NULL == fp2)
{
perror("open");
return -1;
}
char ch;
while((ch = fgetc(fp1)) != -1)//从第一个文件读取,通过fp1读取到字符,赋给ch
{
fputc(ch,fp2);//把读到的字符写到fp2件中
}
return 0;
}
eg:
源文件:
目标文件: