readdir
возвращает указатель на struct dirent
, я тестировал, если два вызова readdir
, хранящихся в двух разных указателях, изменяют содержимое первого указателя, это не так.C readdir & struct dirent allocation
Итак, я думаю, что readdir выделяет некоторую память, правда?
Если да, то он должен быть освобожден, то, что я никогда не делал раньше ...
Что говорит страница человека? –
'Данные, возвращаемые readdir(), могут быть перезаписаны последующими вызовами в readdir() для того же потока каталогов.', Как я уже сказал в сообщении, после двух вызовов он не изменил первую структуру. Это потому, что у него есть буфер записей, и после определенного количества вызовов он загружает остальную часть следующей части в буфере? –
В нем говорится: «Может быть» *. В нем также говорится: «Не освобождайте». * Предполагаю, что вы сначала вызвали 'opendir', а затем после использования' closedir' в соответствии с ответами? –