Если два файловых указателя указывают на один и тот же файл, достаточно ли закрытия одного из них?

Если у меня есть два файловых указателя и я делаю следующее:

FILE *f1,*f2;
f1= fopen("inputfile","r+");
f2=f1;
fclose(f2);

Действительна ли операция равенства, если она есть, будет ли последняя строка также закрывать f1?

1 ответ

Решение

Достаточно, оба будут закрыты, и оба будут указывать на закрытый файл.

Назначение f2=f1 не делает ничего волшебного (увеличение счетчика ссылок или дублирование дескрипторов).

Другие вопросы по тегам