КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Лабораторная работа №7
Цель работы: познакомиться с понятием «каталог» («папка»). Изучить функции для поиска всех файлов с указанными характеристиками. Научиться применять полученные знания при написании программ. Задание
Написать программу, которая для заданного каталога (папки) вычисляет ее суммарную длину всех объектов, находящихся в ней, и выводит эту информацию в файл с именем f_size.txt (обычный текстовый файл). Предполагается, что для хранения суммарной длины всех объектов в указанной папке достаточно переменной типа данных unsigned __int64.
1. Для получения 100% от числа баллов, отводимых на лабораторную работу, в качестве объектов, длины которых суммируются, должны поддерживаться как файлы, так и папки, причем уровень вложенности папок одной в другую не ограничивается. 2. Для получения 80% от числа баллов, отводимых на лабораторную работу, в качестве объектов, длины которых суммируются, должны поддерживаться как файлы, так и папки, причем предполагается, что вложенные папки не могут в свою очередь содержать вложенные каталоги (уровень вложения папок = 1). 3. Для получения 65% от числа баллов, отводимых на лабораторную работу, в качестве объектов, длины которых суммируются, должны поддерживаться только файлы.
Алгоритм работы программы (для задания максимальной сложности). 1. Вывести приглашение пользователю для ввода пути и имени выбранной папки. 2. Ввести имя папки с указанием полного пути к ней. 3. Запомнить текущий каталог. 4. Изменить текущий каталог на указанный. 5. Для текущего каталога выполнить следующие действия: a) С помощью функций _findfirst и _findnext (их синтаксис изучить самостоятельно, используя справочную систему MSDN) найти имя очередного файла. b) Если найденный файл не является каталогом (проверяется с помощью атрибутов файла, которые можно получить с помощью поля attrib структуры _finddata_t, указателем на которую является 2-ой аргумент функций _findfirst и _findnext), то к текущему значению суммы добавить длину найденного файла. c) Если найденный файл является каталогом, то перейти в этот каталог и осуществить поиск файлов и каталогов в нем. d) Когда функция findnext перестает возвращать имена новых найденных файлов, то программа должна создать в текущем каталоге файл с именем f_size.txt и записать в него суммарный размер всех файлов и каталогов, находящихся в нем, а затем осуществить переход в родительский каталог (если текущий каталог отличен от выбранного пользователем). Родительский каталог обозначается ”..”. 6. Когда найдена суммарная длина всех файлов и папок в указанном каталоге, программа должна перейти в каталог, путь к которому был запомнен в пункте 3. 7. В конце поиска необходимо вызвать функцию _findclose для освобождения ресурсов, используемых при поиске.
Дата добавления: 2017-01-14; Просмотров: 356; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |