| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C]Рекурсивный обход каталогов и вывод результата |
| Автор: Relrin 4.3.2012, 15:21 | ||
| Стоит следующая задача: Подсчитать суммарный размер файлов в заданном каталоге (аргумент 1) и для каждого его подкаталога отдельно. Вывести результат в консоль и в файл (аргумент 2): имя подкаталога, количество файлов в нем, суммарный размер файлов, имя файла с наибольшим размером. Программа под Linux, пишу на Си. Нужна помощь допилить программку, в плане вывода сообщений в консоль, и в файл. Еще непонятно почему, не могу скопировать имя файла в переменную namef, чтобы в дальнейшем сделать вывод, как требуется в задаче. Вот, что у меня пока что получилось:
|
| Автор: Relrin 4.3.2012, 17:22 | ||
| Допилил код, чтобы выводил все в той форме, что есть в задаче. Осталось только понять: 1) как записать в файл, который создан в функции main (см. первый пост), наподобии функции: printf("%s %d %d %s\n",directory,count,summ_size,namef); ? 2) считать оттуда данные в обратном порядке(т.е. начинало вывод с той папки, которую указали в качестве аргумента)? 3) не получается сделать так, что при возврате из папки, в которую вошли мы вошли рекурсией, а потом, вышли, собирать ОБЩЕЕ количество файлов и суммарный размер, чтобы подсчитать, какой размер у папки (все файлы, во всех каталогах), сколько в этой папке файлов (во всех каталогах, которая содержит в себе эта папка)
|