使用c完成linux的cp功能

使用c完成linux的cp功能
步骤
打开文件 open
读取文件 read
再打开一个新的文件 open
写入 write

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<stdlib.h>

int main( int argc, char **argv){
    
      //从命令输入两个文件路径 argv相当于一个数组
        int fdSrc;
        int fdDes;
        char *readBuf = NULL;
        fdSrc = open(argv[1],O_RDWR);  //使用第一个文件路径打开
        
        int size = lseek(fdSrc,0,SEEK_END);  //计算出大小 避免开辟空间过大
        lseek(fdSrc,0,SEEK_SET);
        
        readBuf = (char *)malloc(sizeof(char)*size+8);
        read(fdSrc,readBuf,size);
        fdDes = open(argv[2],O_RDWR|O_CREAT|O_TRUNC,0600);//创建一个新的文件
        int n_write = write(fdDes,readBuf,strlen(readBuf)); //把内容写入
        close(fdSrc);
        close(fdDes);
        return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_41679960/article/details/114845815