编写程序实现文件的拷贝.即将源文件拷贝到目标文件,两个文件名均由命令行给出.源文件名在前.(C语言)
展开全部
1 以main函数的参数接收命令行参数。
2 分别以二进制读写方式打开两个文件。
3 循环读取源文件,每次一个字节,并写入目标文件。直到遇到文件结尾结束。
4 关闭所有文件。
代码:
int main(int argc, char *argv[])
{
FILE *fp1, *fp2;
int c;
if(argc < 3) return -1;
fp1 = fopen(argv[1], "rb");
fp2 = fopen(argv[2], "wb");
if(fp1 && fp2)
{
while((c = fgetc(fp1)) != EOF)
fputc(c, fp2);
}
fcloseall();
}
展开全部
#include<stdio.h>
#include<stdlib.h>
int main(int argc,char*argv[])
{
int len;
char *data_in,*data_out;
FILE *fp,*ofp;
fp=fopen(argv[1],"rb");
ofp=fopen(argv[2],"wb");
fseek(fp, 0L,SEEK_END);
len =ftell(fp);
rewind(fp);
data_in=(char *)malloc(len*sizeof(char));
fread(data_in,sizeof(char),len,fp);
fclose(fp);
fwrite(data_in,sizeof(char),len,ofp);
fclose(ofp);
return 0;
}
没测试,应该没问题。
#include<stdlib.h>
int main(int argc,char*argv[])
{
int len;
char *data_in,*data_out;
FILE *fp,*ofp;
fp=fopen(argv[1],"rb");
ofp=fopen(argv[2],"wb");
fseek(fp, 0L,SEEK_END);
len =ftell(fp);
rewind(fp);
data_in=(char *)malloc(len*sizeof(char));
fread(data_in,sizeof(char),len,fp);
fclose(fp);
fwrite(data_in,sizeof(char),len,ofp);
fclose(ofp);
return 0;
}
没测试,应该没问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询