Chinaunix首页 | 论坛 | 博客
  • 博客访问: 304448
  • 博文数量: 79
  • 博客积分: 3458
  • 博客等级: 中校
  • 技术积分: 921
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-25 17:09
个人简介

自、管

文章分类

全部博文(79)

文章存档

2013年(7)

2012年(20)

2011年(18)

2010年(34)

分类: LINUX

2010-08-09 18:08:40

接再励 完成cp

//cp.c

#include
#include
#include
#include

#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;
}


阅读(592) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~