当前位置:  技术问答>linux和unix

read len个字节

    来源: 互联网  发布时间:2016-11-10

    本文导语:  while(1) {     ret = read(fd, buf, len);     if(ret == -1)     {         if(errno == EINTR)     continue; perror("read"); break;     }     len -= ret;     buf += ret;     if(len == 0 || ret == 0)     {         break;   ...


while(1)
{
    ret = read(fd, buf, len);

    if(ret == -1)
    {
        if(errno == EINTR)
    continue;
perror("read");
break;
    }

    len -= ret;
    buf += ret;
    if(len == 0 || ret == 0)
    {
        break;
    }
}


大家知道系统调用read存在太多情况了,一次调用可能被中断,可能遇到文件结束,可能阻塞等等,自己写了这段代码,企图读取len个字节到buf中,大家看看斧正一下,看有漏洞没?

|
apue上就有readn writen的实现示例

ssize_t             /* Read "n" bytes from a descriptor */
readn(int fd, void *ptr, size_t n)
{
    size_t       nleft;
    ssize_t      nread;

    nleft = n;
    while (nleft > 0) {
        if ((nread = read(fd, ptr, nleft)) = 0 */
}

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 read():读取字条符
  • 系统启动问题(read block from filesystem resulted in short read!)在线等!!!
  • java命名空间javax.swing类progressmonitorinputstream的类成员方法: read定义及介绍
  • 请教: read一个socket, read返回需要多长时间?
  • java命名空间java.sql接口connection的类成员方法: transaction_read_uncommitted定义及介绍
  • read一个socket, 发现read到的长度是0, 是否一定代表对方调用了close关闭了socket?
  • java命名空间java.io类objectinputstream的类成员方法: readfully定义及介绍
  • if( (n=Readline( sockfd,line,MAXLINE) )==0)为什么服务器接收到客户FIN时,Read返回的是0。,既然FIN被读出来了,为什么Read返回的是0
  • java命名空间java.io类linenumberreader的类成员方法: read定义及介绍
  • 非阻塞打开设备文件,如果1秒read不到数据,想让read退出如何做?
  • java命名空间java.io接口objectinput的类成员方法: read定义及介绍
  • linux 下的read命令重定向
  • java命名空间java.io类objectinputstream的类成员方法: read定义及介绍
  • socket read返回问题
  • java命名空间java.nio.channels类filechannel.mapmode的类成员方法: read_write定义及介绍
  • java/j2ee iis7站长之家
  • java命名空间java.io类filterinputstream的类成员方法: read定义及介绍
  • cshell脚本中read的问题
  • java命名空间java.text类attributedcharacteriterator.attribute的类成员方法: reading定义及介绍
  • 我的模块的READ没有被调用
  • java命名空间java.nio.channels类filechannel.mapmode的类成员方法: read_only定义及介绍
  • 关于shell read命令


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3