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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
#1

как мне обойти все подкаталоги данного каталога.? - C++

10.05.2010, 00:31. Просмотров 1491. Ответов 21
Метки нет (Все метки)

помогите плз разобраться с директориями.
вот как мне обойти все подкаталоги данного каталога.?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2010, 00:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как мне обойти все подкаталоги данного каталога.? (C++):

Обойти все элементы вектора - C++
Как обойти все элементы вектора? Предложите пожалуйста 2 способа

Обойти конём все поля шахматной доски - C++
Обойти конём все поля шахматной доски размером (n х n) клеток, побывав на каждом из полей ровно один раз. Прошу с подробнейшим объяснением,...

Обойти по спирали все элементы матрицы 6x6 - C++
C++ Начиная с центра, обойти по спирали все элементы матрицы 6x6, распечатывая их в порядке обхода.

Начиная от центра, обойти по спирали все элементы квадратной матрицы - C++
Доброго времени, помогите создать программу на Си/С++ Задание: Начиная от центра, обойти по спирали все элементы квадратной матрицы...

Начиная с центра, обойти по спирали все элементы квадратной матрицы - C++
В целочисленной квадратной матрице nxn (3<=n<=101, n - нечетное) - найти номер первого из столбцов, не содержащих положительных...

Определить последовательность ходов, которая позволит обойти все поля и вернуться на исходную. - C++
Помогите решить задачу... Очень сильно нужно!! Задача: Вводится начальная позиция коня на шахматной доске. Надо определить...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
10.05.2010, 00:34 #2
genius5, открыл каталог, прочитал файлы, если среди них каталог, то к пути прибавил его имя и в него вошел. И так рекурсивно по всему дереву. Это тривиально.
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 00:43  [ТС] #3
легко сказать я еще не работад с каталогами,многого не знаю.
ну ету часть с деревьями можно поподробнее?
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
10.05.2010, 00:46 #4
зависить от системы и используемых средств - windows, linux, winapi, mfc, qt..
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 00:57  [ТС] #5
windows
0
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
10.05.2010, 01:01 #6
Цитата Сообщение от genius5 Посмотреть сообщение
ну ету часть с деревьями можно поподробнее?
Что же все разжевывать-то...
Вот у тебя директория dir1, прочитал, какие файлы в ней. взял тип файла file1 круто, обычный файл. Взял типа файла dir2, опана, директория, значит идем в dir1\\dir2.
Функции для операций с файлами можно найти в документации по winapi. Может, в вантузе есть аналог nftw, но я о нем не слышал
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 01:07  [ТС] #7
а как потом назад вернуться?
0
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
10.05.2010, 01:09 #8
genius5, функция должна быть рекурсивной. Выполнение кода само вернется назад, когда завершатся функции, для подкаталогов. Рекурсия.
1
niXman
Эксперт C++
3135 / 1447 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
10.05.2010, 01:40 #9
вай-вай-вай
уже бы в гугле код нарыл
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 11:11  [ТС] #10
тада скинь плиз ссылку.

Добавлено через 8 часов 18 минут
ну никак не получается
напишите эту часть проги плз

Добавлено через 1 час 0 минут
аууууу
0
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
10.05.2010, 18:27 #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <string>
#include <windows.h>
 
void func_(const std::string &dir, const std::string &r){
     static std::string _dir;
    _dir = dir + r;
 
    WIN32_FIND_DATA FindFileData;
    HANDLE hFind = FindFirstFile(_dir.c_str(), &FindFileData);
 
    FindNextFile(hFind, &FindFileData); // 
 
    while(FindNextFile(hFind, &FindFileData))
    {
        if(FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY){
            _dir = dir + FindFileData.cFileName + "\\";
            std::cout << "Folder: " << _dir << std::endl;
            func_(_dir.c_str(), r);
        } else 
            std::cout << "File: " << FindFileData.cFileName << std::endl;
    }
 
    FindClose(hFind);
}
 
int main(){
 
    func_("C:\\", "*.*");
    return 0;
}
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 18:39  [ТС] #12
а на С это как будет выглядеть?
0
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
10.05.2010, 18:41 #13
Цитата Сообщение от genius5 Посмотреть сообщение
а на С это как будет выглядеть?
примерно также...
0
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
10.05.2010, 18:44  [ТС] #14
а комменты можно?все еще не все понимаю.
0
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
10.05.2010, 18:53 #15
Цитата Сообщение от genius5 Посмотреть сообщение
а комменты можно?все еще не все понимаю.
так три строчки кода.. что имено не понятно?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2010, 18:53
Привет! Вот еще темы с ответами:

Начиная с центра, обойти по спирали все элементы квадратной матрицы, распечатывая их в порядке обхода - C++
Начиная с центра, обойти по спирали все элементы квадратной матрицы ,распечатывая их в порядке обхода.

Сформировать два множества, первое содержит все простые числа из данного множества, второе - все составные - C++
Условие задачи следующее:Имеется множество, содержащее натуральные числа из некоторого диапазона. Сформировать два множества, первое из...

Используя команду DIR, вывести на экран только каталоги текущего каталога и все его подкаталоги - CMD/BAT
1. Используя команды DIR добиться , чтобы на экран выводились только каталоги текущего каталога и все его под каталогов 2.Используя...

Как мне обойти proxy? - Windows
Хочу пробиться в IRC. но прокся не дремлет, что делать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.05.2010, 18:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru