编写程序实现文件的拷贝.即将源文件拷贝到目标文件,两个文件名均由命令行给出.源文件名在前.(C语言)

 我来答
风若远去何人留
2015-12-31 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450126
专业C/C++软件开发

向TA提问 私信TA
展开全部

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();
}
xdbuxiaoxin
2012-11-12 · 超过13用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:42万
展开全部
#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;
}
没测试,应该没问题。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式