当前位置:  开发笔记 > 编程语言 > 正文

getline()带有文件描述符而不是文件指针

如何解决《getline()带有文件描述符而不是文件指针》经验,为你挑选了1个好方法。

据我所知,没有getline()与文件描述符相同的libc ,而不是使用FILE *.

是否有(技术)原因?



1> PSkocik..:

您可以使用文件描述符创建文件流fdopen.

要通常从文件描述符中获取一行,您需要一次向操作系统询问一个字符,这是非常低效的.(readPOSIX shell中的内置工作方式如此 - 它通过一次检索一个字节来非常低效地读取行.)

FILE流批量请求来自操作系统的数据,这提高了效率,但是文件描述符可能不是可重绕的文件 - 它可能是套接字或管道,如果要求100个字符,那100个批次的第三个字符是换行符然后就没有办法一般撤消后面97个字符的读取.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有