Форум программистов, компьютерный форум CyberForum.ru

удалить старые файлы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Vadimuss
Сообщений: n/a
06.07.2010, 15:05     удалить старые файлы #1
Добрый день.
Мне нужно написать небольшой код, который бы автономно удалял старые файлы из каталога, которым уже 30 дней. Файлы создаются по 1 день в заданом каталоге.
Если удалить конкретный файл, код будет выглядеть так:

C++
1
2
3
4
5
6
7
{
if (remove("/tmp/Archive/2010.07.01")==-1) printf("error");        /*удаляет файл 2010.07.01*/
      
        else
                std::cout << "Delete Archiver File" << std::endl;
 return EXIT_SUCCESS;
}

А как удалить все файлы из каталога, которым исполнилось 30 дней?
Заранее спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yamilramilev
 Аватар для yamilramilev
263 / 255 / 9
Регистрация: 08.10.2009
Сообщений: 554
06.07.2010, 17:40     удалить старые файлы #2
Дату файла смотреть по названию?
Vadimuss
Сообщений: n/a
06.07.2010, 17:46     удалить старые файлы #3
имя файлов создаются автоматически по дате : 2010.07.01 2010.07.02 2010.07.03 и тд. создаются 1 файл в день. мне надочтобы по истечению месяца старые файлы удалялись, чтобы не засорялся диск.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
06.07.2010, 17:54     удалить старые файлы #4
Vadimuss, сделать класс "Дата" с функцией-членом возвращающей количество дней между датой, заданной в объекте и переданной в качестве параметра. Создать объект класса и инициализировать его текущей датой. А потом читать по одному имена файлов, приводить их (имена) к такому виду, чтобы функция приняла (убрать путь и расширение, если есть), если из функции вернётся 30+ дней, удалять файл...
Если не хочется самому с классами морочиться, можно на С незатейливую програмку сделать примерно с той же логикой, только вместо класса структура tm, а вместо функции-члена difftime()...
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
07.07.2010, 09:34     удалить старые файлы #5
Нет, ребята. Если использовать готовые наработки,то всё решается мног проще.
Значит, так, автор, ты можешь проверить ОДИН файл и если чё, его удалить? Можешь.

Так, немного усложняем задачу- надо проверить ВСЕ файлы в папке.
Ну, так хзначит, надо создать код, который давал бы мена ВСЕХ файлов.

Вот этот код, моё сообщение номер 17
Обработай мелким напильником и вперёд.
[C++] Работа с файлами

Добавлено через 18 минут
Ну, короче, в том коде прога выводит все экзешники в папке С РЕКУРСИВНО
Тоесть вообщ все эжкзешники на твоём компе (если у тебя других дисков не подключено)

А тебе надо, как я понимаю не только экзешники, но и вообще все файлы?

Вот тебе задача: в указанно мкоде надо закомментить 4 строчки и будет выводиться не только эжкзешники, но и вообще все файлы в папке. Но РЕКУРСИВНО

А вот как НЕРЕКУРСИВНО. это ты сам подумай.

Садизмом не считать!

Добавлено через 8 минут
...Через 5 минут я понял, как вывести список файлов в папке "С" НЕРЕКУРСИВНО. Для этого надо закомментить ещё 2 строчки

Вот они- готовые наработки. Склепал раз прогу и знай рихтуй каждый раз под свои нужды. Там строчку закомментил, там добавил...
Yandex
Объявления
07.07.2010, 09:34     удалить старые файлы
Ответ Создать тему
Опции темы

Текущее время: 13:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru