首页 > 代码库 > Linux cp 命令简单实现
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 命令简单实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。