前言
我们活着不能与草木同腐,不能醉生梦死,枉度人生,要有所作为!——方志敏
实现cp指令
步骤:
1.打开原文件
2.创建/打开新的文件
3.读取原文件的内容
4.写入新的文件
5.关闭俩个文件
二、实现代码
代码如下(示例):
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,char **argv) //argc 文件传入参数个数 argv文件传入参数的二级指针
{
int fdSrc; //定义原文件的标识符号
int fdDes; //定义新的文件的标识符
// char readBud[1024];
char *readBud = NULL; //定义一个接受区的指针
//判断参数是否为3
if(argc != 3){
printf("pararm error\r\n");
exit(-1);
}
//第一步打开原文件
fdSrc = open(argv[1],O_RDWR);
//计算文件的大小放入size中去
int size = lseek(fdSrc,0,SEEK_END);
printf("The size is %d\r\n",size);
readBud = (char *)malloc(sizeof(char)*size+10);
//第二步读取文件的内容
lseek(fdSrc,0,SEEK_SET);
int read_n = read(fdSrc,readBud,size);
printf("The read_n is %d\r\n",read_n);
//第三步打开/创建一个新的文件
fdDes = open(argv[2],O_RDWR|O_CREAT,0600);
//第四步写入新文件
int write_n = write(fdDes,readBud,strlen(readBud));\
printf("The write_n is %d\r\n",write_n);
//第五步关闭俩个文件
close(fdSrc);
close(fdDes);
return 0;
}