LINUX.ORG.RU
Форум — Development

free() на файловый поинтер


0

0

Салам все, у меня тут вопрос возник.
Пусть я сделал
FILE *fp;
fp=fopen(тра-ла-ла)
...
...
могут ли я сделать free(fp)?
fopen чем память выделяет - malloc (calloc)?


ya sdelal v coru ne upalo ... No zachem ?!!!!!!!

master
()

по ansi c - при fclose() освобождается память занимаемая буфером, а другие поля структуры FILE остаются? У меня создается и уничтожается куча файлов, поэтому надеятся на систему не приходится. Ну в кору не упало - это не доказательство :)

babai
() автор топика
Ответ на: комментарий от babai

Ничего у тебя не остается. У тебя не структура типа FILE, а указатель на структуру типа FILE. fclose() удаляет все, что fopen() выделил.

asd
()

если я прально понял каждому процессу ассоциируется вектор из 256 структур FILE, fopen просто инициализирует одну из свободных и возвращает ее адрес. Таким образом никакого malloc (кроме буффера).

babai
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.