你可以使用 fdopen 将文件描述符创建成一个 FILE 流。要从文件描述符中通用地获取一行,你需要逐个字符地向操作系统请求数据,这非常低效。(POSIX shell 中的 read 内建命令就是这样工作的——它通过逐字节检索来非常低效地读取行。)FILE 流批量向操作系统请求数据,这提高了效率,但文件描述符可能不是可倒带的文件——它可能是套接字或管道,如果你请求 100 个字符并且这 100 个字符的第三个字符是换行符,那么在此之后的 97 个字符无法被通用地撤销读取。
getline
不是 C 标准中的函数,我猜你指的是 POSIX 特性? - Jens Gustedt