Linux cp 命令简单实现
Posted jiangsion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux cp 命令简单实现相关的知识,希望对你有一定的参考价值。
/* 实现cp命令: */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <string.h> int main(int argc, char *argv[]) { int rd_fd, wr_fd;//读文件描述符 和 写文件描述符 char buf[128]={0}; int rd_ret = 0; if(argc < 3) { printf("please input src file and des file!\n"); return -1; } //打开源文件 rd_fd = open(argv[1], O_RDONLY); if(rd_fd < 0) { printf("open src file %s failed!\n", argv[1]); return -2; } printf("open src file %s succ, rd_fd = %d\n", argv[1], rd_fd); //打开目标文件 wr_fd = open(argv[2], O_WRONLY|O_CREAT); if(wr_fd < 0) { printf("open des file %s failed!\n", argv[2]); return -3; } while(1) { rd_ret = read(rd_fd, buf, 128); if(rd_ret < 128)//判断数据是否读取完毕 { break; } write(wr_fd, buf, rd_ret); memset(buf, 0, 128);//清理缓存 } write(wr_fd, buf, rd_ret);//做最后一次写入 //关闭文件描述符 close(wr_fd); close(rd_fd) return 0; }
以上是关于Linux cp 命令简单实现的主要内容,如果未能解决你的问题,请参考以下文章