Используя fdopen(), fileno(), можно открыть потоки с существующими файловыми дескрипторами. Однако правильный способ закрыть файл, как только вы открыли его с потоком, это fclose() указатель FILE. Как закрыть поток, но сохранить открытый файловый дескриптор?
Это поведение похоже на вызов fflush(), а затем fileno(), а затем никогда не использовать указатель FILE снова, кроме как закрытие. Еще одна проблема заключается в том, что если вы снова fdopen(), теперь есть несколько указателей FILE, и вы можете закрыть только один из них.