Chinaunix首页 | 论坛 | 博客
  • 博客访问: 131009
  • 博文数量: 19
  • 博客积分: 1188
  • 博客等级: 中尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-12 01:16
文章分类

全部博文(19)

文章存档

2011年(1)

2010年(18)

分类: LINUX

2010-06-20 13:39:42

#include

ssize_t writen(int fd, const void *vptr, size_t n)

{

  const char *ptr = vptr;

  size_t nleft = n;

  ssize_t nwriten;

   

  while (nleft > 0) {

if ( (nwriten = write(fd, ptr, nleft)) <= 0)

  return (nwriten);

 

nleft -= nwriten;

ptr += nwriten;

  }

  return(n);

}

 

ssize_t readn(int fd, const void *vptr, size_t n)

{

  const char *ptr = vptr;

  size_t nleft = n;

  ssize_t nread;


  while (nleft > 0) {

if ( (nread = read(fd, ptr, nleft)) <= 0)

  return (nread);

 

nleft -= nread;

ptr += nread;

  }

  return(n - nleft);

}

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