linux 复制文件的内容,linux 文件内容的复制

这是一个使用C语言编写的简单文件复制程序,它接受两个参数:源文件和目标文件。程序首先检查参数是否正确,然后打开源文件和目标文件。通过读取源文件并写入目标文件来实现文件的复制,同时计算并显示源文件的大小。如果在操作过程中遇到错误,程序会打印错误信息并退出。
摘要由CSDN通过智能技术生成

#include #define BUFFER_SIZE 1024

int main(int argc,char **argv)

{

FILE *from_fd;

FILE *to_fd;

long file_len=0;

char buffer[BUFFER_SIZE];

char *ptr;

/*判断入参*/

if(argc!=3)

{

printf("Usage:%s fromfile tofile\n",argv[0]);

exit(1);

}

/* 打开源文件 */

if((from_fd=fopen(argv[1],"rb"))==NULL)

{

printf("Open %s Error\n",argv[1]);

exit(1);

}

/* 创建目的文件 */

if((to_fd=fopen(argv[2],"wb"))==NULL)

{

printf("Open %s Error\n",argv[2]);

exit(1);

}

/*测得文件大小*/

fseek(from_fd,0L,SEEK_END);

file_len=ftell(from_fd);

fseek(from_fd,0L,SEEK_SET);

printf("from file size is=%d\n",file_len);

/*进行文件拷贝*/

while(!feof(from_fd))

{

fread(buffer,BUFFER_SIZE,1,from_fd);

if(BUFFER_SIZE>=file_len)

{

fwrite(buffer,file_len,1,to_fd);

}

else

{

fwrite(buffer,BUFFER_SIZE,1,to_fd);

file_len=file_len-BUFFER_SIZE;

}

bzero(buffer,BUFFER_SIZE);

}

fclose(from_fd);

fclose(to_fd);

exit(0);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值