writen and readn

3089阅读 0评论2010-06-20 crowsy001
分类:LINUX

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

}

上一篇:朝鲜祖国和平统一委员会宣布与韩国断绝关系
下一篇:client and server