动手实现linux中的cp命令(可自行拓展)
2016-09-06 16:46
302 查看
我们在学习系统编程的时候,一定会有这样的经历,让你动手实现一个简单的cp命令,也就是拷贝相应的文件到对应的目录,或者说是复制吧,当然,实现非常的简单,我们来看看源码吧:
#include <stdio.h> #include <string.h> #include <unistd.h> #include <fcntl.h> int main(int argc ,char *argv[]) { if(argc != 3) { fprintf(stderr , "input argument error\n"); return -1 ; } int src_fd ; int dest_fd ; src_fd = open(argv[1] , O_RDONLY); if(-1 == src_fd) { perror("mycy srcfile error"); return -2 ; } char ch ; dest_fd = open(argv[2] , O_WRONLY | O_CREAT | O_EXCL , 0777); if(dest_fd < 0) { //文件存在,判断是否覆盖 printf("Over write ? Y/N\n"); ch = getchar(); if(ch == 'Y') { close(dest_fd); dest_fd = open(argv[2] , O_WRONLY | O_TRUNC); }else { return 0 ; } } //文件不存在,直接创建成功 char buffer[10] = {0} ; int ret ; while(1) { ret = read(src_fd , buffer , 10); write(dest_fd , buffer , ret); if(ret != 10) break; } close(dest_fd); close(src_fd); return 0 ; }
相关文章推荐
- 动手实现linux中的cp命令(可自行拓展)
- 动手实现linux中的cp命令(可自行拓展)
- 【C语言】实现Linux下的cp命令的基本功能
- 实现Linux下带进度显示的cp命令 - xcp
- linux命令实现:cp
- Linux 实现cp 命令
- Linux 实现cp 命令
- Linux 实现cp 命令
- Linux 实现cp 命令
- Linux下cp命令实现
- Linux系统利用cp命令实现强制覆盖功能的方法
- 用Linux_C语言模拟CP命令,实现文件和文件夹的拷贝
- linux系统编程:自己动手写一个cp命令
- 模拟实现Linux下cp命令
- linux cal日历命令自行实现
- 实现 linux cp 命令
- 实现Linux下带进度显示的cp命令 - xcp
- Linux文件复制cp命令的实现
- C语言实现Linux cp命令
- Linux&C编程之Linux系统命令“cp -r”的简单实现