![]() |
|
Модераторы: bsa |
![]()
|
|
| worsvch |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 23.4.2009 Репутация: нет Всего: нет |
Пишу консольное приложение под windows xp, смысл его в следующем:
есть определенный каталог и в нем еще куча вложенных каталогов с файлами. Нужно удалить все файлы из вложенных каталогов. Подскажите, пожалуйста, какие заголовочные файлы нужно подключить и какие функции нужно использовать? Искал в инете образцы кода, ничего того что нужно не нашел. |
|||
|
||||
| rumit7 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 16.6.2011 Репутация: нет Всего: 7 |
Если я не ошибаюсь, то Вам лучше использовать WinAPI, а для этого имеется специальный раздел. В WinAPI имеется функция FindFirstFile (или на русском), при помощи которой можно выполнить "рекурсивный обход каталогов". Вот здесь есть примеры: 1) http://www.devasp.net/net/articles/display/652.html 2) http://stackoverflow.com/questions/2038912...in-c-on-windows 3) http://www.codeproject.com/Articles/93141/...vely-Enumeratin Научитесь находить нужные файлы, а потом используя функцию DeleteFile можно и удалить их. P.S. Оказывается в boost.filesystem тоже имеется необходимый функционал. Добавлено через 5 минут и 26 секунд Здесь неплохое введение в использование boost.filesystem: 1) http://www.ibm.com/developerworks/aix/library/au-boostfs/ 2) http://www.solarix.ru/for_developers/cpp/b.../ru/index.shtml |
|||
|
||||
| worsvch |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 23.4.2009 Репутация: нет Всего: нет |
Сделал следующее:
В консоли вместо имен файлов, одинаковые значения: 0041B1C7 Как так? Это сообщение отредактировал(а) worsvch - 26.2.2012, 09:20 |
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| rumit7 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 16.6.2011 Репутация: нет Всего: 7 |
У Вас проблема с выводом на консоль юникод строки:
Вместо объекта "cout" попробуйте использовать его юникод аналог "wcout" или функцию "_tprintf". Добавлено @ 12:49 Кроме того, Вы не проходите рекурсивно внутрь вложенных директорий. Для этого, Вам нужно создать отдельную функцию, которую Вы и будите вызывать рекурсивно для вложенных директорий. В качестве примера, смотрите второй ответ вот здесь http://stackoverflow.com/questions/2038912...in-c-on-windows. Добавлено @ 12:54 Имейте ввиду что данный пример может содержать ошибки, он просто чтобы показать куда копать.. Это сообщение отредактировал(а) rumit7 - 26.2.2012, 12:54 |
||||
|
|||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |