文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux命令实现(2)cp

Linux命令实现(2)cp

时间:2010-08-09  来源:haihui0705

接再励 完成cp

//cp.c

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>

#define BUFFERSIZE 4096
#define COPYMODE 0644
void oops(char *s1,char *s2);
void oops(char *s1,char *s2)
{
    fprintf(stderr,"Error:%s",s1);
    perror(s2);
    exit(1);
}




int main(int argc, char *argv[])
{
printf("Hello, world!\n");
int in_fd,out_fd,n_chars;
char buf[BUFFERSIZE];

if (argc!=3)
{
    fprintf(stderr,"usage:%s source destination\n",*argv);
    exit(1);
}
if((in_fd=open(argv[1],O_RDONLY))==-1)
    oops("Can not open",argv[1]);
if((out_fd=open(argv[2],O_RDWR))==-1)
    oops("Cannot creat",argv[2]);

while((n_chars=read(in_fd,buf,BUFFERSIZE))>0)
    if(write(out_fd,buf,n_chars)!=n_chars)
       oops("Read error to",argv[2]);
if(n_chars==-1)
    oops("Read error from",argv[1]);
if(close(in_fd)==-1||close(out_fd)==-1)
    oops("Error close files","");

return EXIT_SUCCESS;
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载