Здравствуйте!
Кто-нибудь знает, что возвращает эта функция? Я ожидал, Что она возвращает
содержимое каталога, попробовал на каталоге с одним файлом. В выводе имя файла
есть, но, кроме него, ещё непонятно каие последовательности, в т.ч. с непечатаемыми
кодами и кодами большими, чем 127. При этом они разделены последовательностями
из четырёх кодов 0, т.е. подряд 4 числа 0, а я думал, что там будут строки,
разделённые одним кодом 0.
Пётр.
getdirentries
ЕМНИП getdirentries() почти тоже самое, что и read() для ext2'го(или какой-то там unix'овой фс) каталога... т.е. имена файлов из каталога и их иноды.
скорей всего тебя интересуют opendir() и readdir()...
ЗЫ: если интересует, что сабж возвращает, то посмотри бздяшные маны...там всё расписано...
ЕМНИП getdirentries() почти тоже самое, что и read() для ext2'го(или какой-то там unix'овой фс) каталога... т.е. имена файлов из каталога и их иноды.
скорей всего тебя интересуют opendir() и readdir()...
ЗЫ: если интересует, что сабж возвращает, то посмотри бздяшные маны...там всё расписано...
Я смотрел и opendir и readdir. readdir не рекомендуют использовать как Linux-специфичную,
а для getdirentries нужен файловый дескриптор. Его возвращает open,
а opendir возвращает DIR *.
Ещё есть scandir, но меня она как-то не вдохновила.
Я подумал об inode, но всё равно мне надо знать формат вывода getdirentries.
Никогда не имел дела с BSD.
При поиске первая же ссылка дала описание желаемого, что её вывод есть
набор структур dirent.
Пётр.
readdir не рекомендуют использовать как Linux-специфичную,
бред... readdir — posix. А getdirentries() как раз BSD-специфичный.
а для getdirentries нужен файловый дескриптор. Его возвращает open,а opendir возвращает DIR *.
и? есть fdopendir(), если что.
Ещё есть scandir, но меня она как-то не вдохновила.
ну да, она для другого нужна...
Действительно, getdirentris - не POSIX, так что правильнее пользоваться readdir.
В "man readdir" даже пример есть.
Хотя "man 2 readdir" говорит, что она Linux-specific.
fdopendir тоже возвращает DIR * и сама требует fd.
Пётр.
Хотя "man 2 readdir" говорит, что она Linux-specific.
man 2 описывает системный вызов с тем же названием... он сильно отличается по количеству и значению аргументов.
[quote="Peter"]Хотя "man 2 readdir" говорит, что она Linux-specific.
man 2 описывает системный вызов с тем же названием... он сильно отличается по количеству и значению аргументов.[/quote]
Да, я не заметил сразу. Буду пользоваться readdir, а не fetdirentries.
Пётр.