The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Какая функция позволит узнать список подкаталогов?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Какая функция позволит узнать список подкаталогов?"  
Сообщение от zkrvova email(ok) on 19-Июл-06, 18:07 
Нужна функция которая позволит узнать список подкаталогов.

Заранее благодарен.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Какая функция позволит узнать список подкаталогов?"  
Сообщение от michelnok (ok) on 19-Июл-06, 22:24 
>Нужна функция которая позволит узнать список подкаталогов.

man 3 opendir

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Какая функция позволит узнать список подкаталогов?"  
Сообщение от zkrvova email(??) on 20-Июл-06, 16:12 
>>Нужна функция которая позволит узнать список подкаталогов.
>
>man 3 opendir


Да есть там функция readdir - то что надо но только она выдаёт всё что есть в каталоге, а можно както отсортировать только подкаталоги?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Какая функция позволит узнать список подкаталогов?"  
Сообщение от zkrvova email(??) on 20-Июл-06, 16:52 
>>>Нужна функция которая позволит узнать список подкаталогов.
>>
>>man 3 opendir
>
>
>Да есть там функция readdir - то что надо но только она
>выдаёт всё что есть в каталоге, а можно както отсортировать только
>подкаталоги?


Нашел - функция stat может распознать каталог или нет!

Спасибо!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "Какая функция позволит узнать список подкаталогов?"  
Сообщение от michelnok (ok) on 20-Июл-06, 21:50 
>Да есть там функция readdir - то что надо но только она
>выдаёт всё что есть в каталоге, а можно както отсортировать только
>подкаталоги?

Ты получаешь указатель на struct dirent
Там есть поле d_type, по которому и можешь фильтровать.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "Какая функция позволит узнать список подкаталогов?"  
Сообщение от zkrvova email(ok) on 21-Июл-06, 10:06 
>>Да есть там функция readdir - то что надо но только она
>>выдаёт всё что есть в каталоге, а можно както отсортировать только
>>подкаталоги?
>
>Ты получаешь указатель на struct dirent
>Там есть поле d_type, по которому и можешь фильтровать.


Спасибо, я как писал уже нашёл.

Спасибо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Какая функция позволит узнать список подкаталогов?"  
Сообщение от Niam (ok) on 19-Июл-06, 22:35 
>Нужна функция которая позволит узнать список подкаталогов.
>
>Заранее благодарен.


хм, стандартной нет, только через readdir(рекурсивно), хотя есть gnu"шная, nftw - вызывает callback ф-цию при проходе по дереву на каждом листке.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Какая функция позволит узнать список подкаталогов?"  
Сообщение от zkrvova email(??) on 20-Июл-06, 16:13 
>>Нужна функция которая позволит узнать список подкаталогов.
>>
>>Заранее благодарен.
>
>
>хм, стандартной нет, только через readdir(рекурсивно), хотя есть gnu"шная, nftw - вызывает
>callback ф-цию при проходе по дереву на каждом листке.


Вижу что для этой функции выдаётся и флаг(каталог это или файл), попробую.

Спасибо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "Какая функция позволит узнать список подкаталогов?"  
Сообщение от f00l email(??) on 21-Июл-06, 09:22 
>Нужна функция которая позволит узнать список подкаталогов.
>
>Заранее благодарен.


Функция scandir:
  
ну где то вот так.


#include <stdio.h>
#include <dirent.h>
#include <sys/stat.h>

static int dir(const struct dirent * eps)
{
if(eps->d_type == 4 )
   return 1;
return 0;
}

int main (int argc,char *argv[])
{
struct dirent ** eps;
int n;
int i;

n = scandir("./",&eps,dir,alphasort);

if(n > 0){
   for(i = 0;i < n;i++){
     printf("\n name >> %s",eps[i]->d_name);
   }
}
else{
   printf("not dir");
}
return 0;
}

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

9. "Какая функция позволит узнать список подкаталогов?"  
Сообщение от zkrvova email(ok) on 21-Июл-06, 10:06 
Даже пример дали, спасибо!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру