Перейти к содержанию

Определение max кол-ва файлов в подкаталогах родительского каталога


Рекомендуемые сообщения

Подскажите пожалуйста, как это возможно?

Я пытался так:

Записать в файл имена каталогов получается в таком виде:

dir1/

dir2/

...

Далее надо же как-то проделать ls -l с каждым каталогом. Т.е. у меня не получается запихнуть имя каталога в переменную и проделать с этой переменной ls. Потом, я думаю, запихнуть результат каждого ls -l в файл и с помощью wc определить максимальное кол-во строк(т.е. кол-во файлов в каталоге).

Может есть способ легче, не прибегая к командам shell?

Помогите пожалуйста, весь измучался от своего тупизма.

Ссылка на комментарий
Поделиться на другие сайты

Спасибо вам огромное, все получилось. Вот лист, кому интересно:

#include <stdio.h>

#include <signal.h>

#include <dirent.h>

#include <sys/types.h>

#include <iostream.h>

void main()

{

int a=0,b=0;

struct stat *sb;

struct dirent *dp;

DIR *d;

DIR *s;

d=opendir("Указываем здесь нужную директорию");

while((dp=readdir(d))!=NULL)

{

if (dp->d_name[0]=='.') continue;

if (dp->d_type == DT_DIR)

{

cout << "Dir:" << dp->d_name << endl;

s=opendir(dp->d_name);

while((dp=readdir(s))!=NULL)

{

if (dp->d_name[0]=='.') continue;

b++;

}

cout << "b=" << b << endl;

if (b>a)

{

a=b;

b=0;

}

}

}

cout << "Max=" << a << endl;

}

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...