fdopen()会导致内存泄漏吗?

时间:2008-09-16 05:18:37

标签: file-io memory-leaks stream

我使用fdopen将流与打开的文件相关联。

当我close()文件时,流也自动解除关联,并且所有流内存都返回到操作系统,或者我是否需要知道fdopen'd文件并以特定方式关闭它?

- 亚当

2 个答案:

答案 0 :(得分:5)

close()是系统调用。它将关闭内核中的文件描述符,但不会释放libc中的FILE指针和资源。您应该在FILE指针上使用fclose(),这也将关闭文件描述符。

答案 1 :(得分:-1)

内核管理这些资源,除了close调用之外你无法控制它们,这可能会在需要时释放内存(不迟于进程终止)。

/阿伦