Различия
Показаны различия между двумя версиями страницы.
— | reshenie_zadachi_11 [2025/07/06 12:39] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Задача 11: Написать программу для удаления вложенных каталогов и файлов ====== | ||
+ | [[zadachi._olimpiady]] | ||
+ | **Задача 11:** Программа для удаления каталогов (удаляются все вложенные папки и файлы). В том случае, | ||
+ | |||
+ | Код ниже просто рекурсивно удаляет все вложенные файлы и директории, | ||
+ | |||
+ | Решение с использованием языка CPP:< | ||
+ | /* | ||
+ | * File: | ||
+ | * Author: darkfire | ||
+ | * | ||
+ | * Created on January 3, 2011, 10:08 PM | ||
+ | */ | ||
+ | |||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | using namespace std; | ||
+ | |||
+ | bool DeleteDir(char DirName[_MAX_PATH]) //DirName нигде не меняем | ||
+ | { | ||
+ | char DirNameNow[_MAX_PATH]; | ||
+ | char FileNameNow[_MAX_PATH]; | ||
+ | strcpy(DirNameNow, | ||
+ | |||
+ | // | ||
+ | if(DirNameNow[strlen(DirNameNow)-1]==' | ||
+ | else strcat(DirNameNow," | ||
+ | //char DirNameNext[_MAX_PATH]; | ||
+ | _finddata_t *fileinfo = new _finddata_t; | ||
+ | long done = _findfirst(DirNameNow, | ||
+ | // если done будет равняться -1, то поиск вести бесмысленно | ||
+ | int Way = done; | ||
+ | |||
+ | while (Way!=-1){ | ||
+ | if (fileinfo-> | ||
+ | {// найдена директория | ||
+ | if (!((strlen(fileinfo-> | ||
+ | {// | ||
+ | strcpy(DirNameNow, | ||
+ | strcat(DirNameNow," | ||
+ | strcat(DirNameNow, | ||
+ | DeleteDir(DirNameNow); | ||
+ | // | ||
+ | if( _rmdir(DirNameNow) != 0 ) perror( "Error directory" | ||
+ | // | ||
+ | } | ||
+ | }else | ||
+ | {// найден файл | ||
+ | strcpy(FileNameNow, | ||
+ | strcat(FileNameNow," | ||
+ | strcat(FileNameNow, | ||
+ | _chmod( FileNameNow, | ||
+ | if( remove(FileNameNow) != 0 ) perror( "Error deleting file" ); | ||
+ | |||
+ | } | ||
+ | // Пытаемся найти следующий файл из группы | ||
+ | Way = _findnext(done, | ||
+ | } | ||
+ | |||
+ | // Очистка памяти | ||
+ | _findclose(done); | ||
+ | delete fileinfo; | ||
+ | |||
+ | return true; | ||
+ | } | ||
+ | |||
+ | int main(int argc, char** argv) { | ||
+ | char str[_MAX_PATH]; | ||
+ | if(argc==2){ | ||
+ | strcpy(str, | ||
+ | DeleteDir(str);// | ||
+ | } | ||
+ | else{ | ||
+ | cout << " | ||
+ | exit(1); | ||
+ | }; | ||
+ | |||
+ | return (EXIT_SUCCESS); | ||
+ | } | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга