码迷,mamicode.com
首页 > 系统相关 > 详细

【Linux-c编程】实现简单的cp命令

时间:2016-09-19 19:51:35      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:

 

  1 #define _LARGEFILE_SOURCE          //1-3:定义宏:才能让系统支持大于2GB文件复制操作。

  2 #define _LARGEFILE64_SOURCE
  3 #define _FILE_OFFSET_BITS 64
  4 #include<stdio.h>
  5 #include<string.h>
  6 #include<stdlib.h>
  7 #include<fcntl.h>
  8
  9 int main(int argc,char *argv[])
 10 {
 11         int fd_src,fd_des;
 12         char buf[128];
 13         int num;
 14         if(argc-3)                                                                            //如果参数格式不是 cp  file_src  file_des,则报错退出。
 15         {
 16                 printf("the format must be:cp file_src file_des");
 17                 exit(EXIT_FAILURE);
 18         }
 19
 20         if((fd_src=open(argv[1],O_RDONLY))==-1)                             // 如果文件不存在,则报错退出。
 21         {
 22                 perror("open1");
 23                 exit(EXIT_FAILURE);

             }
 25
 26         if((fd_des=open(argv[2],O_CREAT|O_EXCL|O_WRONLY,0644))==-1)// 以写的方式打开文件,O_EXCl:如果目标文件存在,报错。
 27         {
 28                 perror("open2");
 29                 exit(EXIT_FAILURE);
 30         }
 31
 32         do                                                     
 33         {
 34                 num=read(fd_src,buf,128);              //读源文件
 35                 write(fd_des,buf,num);                // 写入目标文件
 36         }while(num==128);


 37         close(fd_src);
 38         close(fd_des);                                                                  //关闭文件
 39         return 0;
 40 }

 

【Linux-c编程】实现简单的cp命令

标签:

原文地址:http://www.cnblogs.com/lijiayu/p/5886264.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!