用C语言实现文件拷贝

用C语言实现文件拷贝(提示:主函数头部为viod main(int agrc, char *argv[]) 其中argc==3 )

原题就是这样的 虽然网上有类似的题 不过还是不甚明了

#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])
{
// char s1[100],s2[100];
FILE *p1,*p2;
char ch;
if(argc!=3)
{
printf("ming ling cuowu!");
exit(1);
}
if(argc==3)
{
p1=fopen(argv[1],"r");
p2=fopen(argv[2],"w");
if(p1==NULL||p2==NULL)
{
printf("wenjian bu cunzai!");
exit(1);
}
ch=fgetc(p1);
while(ch!=EOF)
{
fputc(ch,p2);
ch=fgetc(p1);
}
printf("kaobei chenggong!");
}
return 0;
}

要用命令行的模式执行程序
可以加我百度
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-12-05
#include<stdio.h>

int main(int argc, char *argv[]) //argc表示命令参数个数, argv[]表示参数名称
{
int c;
FILE *fpSrc, *fpDest; //定义两个指向文件的指针
fpSrc = fopen(argv[1], "rb"); //以读取二进制的方式打开源文件
if(fpSrc==NULL){
printf( "Source file open failure."); //源文件不存在的时候提示错误
return 0;
}
fpDest = fopen(argv[2], "wb"); // //以写入二进制的方式打开目标文件
if(fpDest==NULL){
printf("Destination file open failure.");
return 0;
}
while((c=fgetc(fpSrc))!=EOF){ //从源文件中读取数据知道结尾
fputc(c, fpDest);
}
fclose(fpSrc); //关闭文件指针,释放内存
fclose(fpDest);
return 0;
}
第2个回答  2009-06-21
两种方法:
1. 用c语言的文件操作:读出文件argv[1]的内容,再把读出的内容写入到文件argv[2]中
2. 使用函数system来执行dos中的文件拷贝命令copy
char command[100]="copy ";
strcat(command, argv[1]);
strcat(command," ");
strcat(command,argv[2]);
system( command );
第3个回答  2009-06-21
viod main(int agrc, char *argv[]) 其中argc==3

短短一句话,就有两个错误,可见,你学习的态度是多么不认真。