Я использую fdopen, чтобы связать поток с открытым файлом.
Когда я close() файл, поток также автоматически отключается, и вся потоковая память возвращается в ОС, или мне нужно знать о файле fdopen'd и закрывать его определенным образом?
close()
-Adam
close() - системный вызов. Он закроет файловый дескриптор в ядре, но не освободит указатель FILE и ресурсы в libc. Вместо этого следует использовать fclose () для указателя FILE, что также позаботится о закрытии файлового дескриптора.
Ядро управляет этими ресурсами, и вы не можете управлять ими, кроме вызова close, которое может освободить память, когда оно захочет (не позднее завершения процесса).
/ Allan