通过使用
这种行为类似于调用
fdopen()
和fileno()
,可以使用现有的文件描述符打开流。但是,一旦使用流打开文件,正确关闭文件的方法是关闭FILE
指针,即fclose()
。那么如何关闭流但保留打开的文件描述符呢?这种行为类似于调用
fflush()
和fileno()
,然后在关闭时不再使用FILE
指针。另一个问题是,如果您随后再次使用fdopen()
,则会出现多个FILE
指针,并且只能关闭其中一个。
fdopen
之前使用dup
,这样您可以确保它不会触及您的原始文件描述符。 - bdonlan