C语言实现文件内容的复制(不带参数的cp命令)

本文介绍了如何使用C语言编写一个简单的程序,实现不带参数的`cp`命令功能,即复制一个文件的内容。
摘要由CSDN通过智能技术生成

C 语言实现cp命令(不带参数的):即实现一个文件的复制

代码实现:

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h> // write 's headfile
/*open 's headfile */
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int main(int argc ,char *argv[])
{
	int i;
	int fd1,fd2; // 文件描述符
	int number;
	char buf[10];
	if(argc < 3)
	{
		fprintf(stderr,"usage:%s origin destination \n",argv[0]);
		return 1;
	}
	if((fd1 = open(argv[1],O_RDONLY,0644)) < 0)
	{
		fprintf(stderr,"cannot open %s for reading \n",argv[1]);
		exit(EXIT_FAILURE);
	}
	if((fd2 = open(argv[2],O_WRONLY)) < 0)
	{
		fprintf(stderr,"cannot open %s for writing \n",argv[2]);
		exit(EXIT_FAILURE);
	}
	while((number = read(fd1,buf,10)) > 0)
	{
		if((write(fd2,buf,number)) < 0)
		{
			fprintf(stderr , "%s writing error!\n",argv[2]);
			exit(EXIT_FAILURE);
		}
		
	}
	fo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值