假设我有一个文件描述符
fd
,我从pipe()
获得它,我想逐行读取它。
我打电话给
FILE* f = fdopen(fd, "r")
。现在我有了一个 FILE*
对象。
如果我想停止逐行阅读
fd
但仍将 fd
本身用于其他用途,该怎么办?如果我调用 fclose(f)
,它也会关闭文件描述符本身。
有没有办法在不关闭描述符的情况下释放
FILE
对象?
有没有办法在不关闭描述符的情况下释放
对象?FILE
不可移植 - 将文件描述符与流关联意味着该流负责底层文件,因此,如您所知,
fclose()
将关闭它。
dup()
fd 。 fopen()
原件或副本,然后在 fclose()
之后使用另一个。