On Wed, Jun 11, 2003 at 03:14:59AM +0400, Grigory Batalov wrote: > Если я правильно понимаю, fdopen/fclose используются, чтобы > "занять" файловый дескриптор потоком и предотвратить > немедленное удаление функцией unlink? Нет, неправильно. fdopen(3) использует передаваемый в качестве аргумента дескриптор. > Или fdopen/fclose приведены для примера потокового > ввода/вывода, и их можно опустить (например, мне достаточно > open/close)? В этом случае "оттягивать до последнего" > нужно вызов close(fd) ? Да, fdopen(3) приведён в качестве (реального) примера в случае, когда осуществляется чтение/запись во временный файл. Можно не использовать stdio и обойтись read(2)/write(2); в этом случае вместо fclose(3) будет вызов close(2). Главное - сделать unlink(2) как можно раньше, и обязательно до закрытия дескриптора файла. Следует избегать файловых операций с именем временного файла. -- ldv