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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-c编程实现简单的cp命令相关的知识,希望对你有一定的参考价值。

 

  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命令的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式Linux-C01 嵌入式LinuxC语言编程的概念

嵌入式Linux-C01 嵌入式LinuxC语言编程的概念

编程实现类似Linux下cp功能

欧姆龙CP1E通过兴达易控CHNet-CP实现欧姆龙PLC转以太网连接编程软件监控配置案例

UNIX环境高级编程APUE练习4.6-实现类似cp的程序,保留文件中的空洞

Linux cp 命令简单实现