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

Рекурсивная функция вывода всех файлов и директорий - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализация md5() http://www.cyberforum.ru/cpp-beginners/thread778387.html
Как мне md5 хеш строки char получить? вон как просто в пхп - md5($string) гугл весь перерыл ничего нормального не нашел.. как реализовать?
C++ Определить размер массива по указателю Собственно вопрос в следующем: можно ли определить размер выделенного динамически массива по указателю на область памяти? int *ptr = new int; int size = getsize(ptr); http://www.cyberforum.ru/cpp-beginners/thread778365.html
с чего начать обучение на С++ C++
с чего начать обучение в С++ самостоятельно?
Thread class C++
В библиотеке SDL есть функция: SDL_Thread *SDL_CreateThread(int (*fn)(void *), void *data); Эта функция запускает в отдельном потоке переданную ей функцию, и возвращает указатель на поток. Но не суть. А суть в том, что я хочу обернуть это дело в класс Thread, например: class MyClass : public Thread { private: virtual void run() { //тут то, что должно быть запущено в...
C++ Создание бинарного дерева и сортировка в нем масива http://www.cyberforum.ru/cpp-beginners/thread778337.html
Здесь я привел прогу для того чтобы создавать деревья и с их помощью сортировать масив. Но я не знаю как отсортированый список вернуть назад с деревьев в масив. Что здесь надо сделать подскажите. Кроме того по заданию мне надо создать бинарные деревья. То есть их надо как то обозначить. А уже потом включать туда масив. Прога с нета. Подскажите что надо сделать. То есть первое задание у меня...
C++ While (нечетные целые числа из диапазона) 1.Напишите программу, которая бы выводила на экран только нечетные целые числа из диапазона от 0 до, указанного пользователем, числа. подробнее

Показать сообщение отдельно
m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,256
Завершенные тесты: 2
03.02.2013, 23:15     Рекурсивная функция вывода всех файлов и директорий
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
int SearchAll(char *path)                        //приходит имя диска (f:\) и в последствии добавляется маска "*"
{
    char* temp_path = new char[strlen(path) + 1];       //добавляет к пути маску "*"
    strcpy(temp_path, path);                            //для поиска всех файлов
    strcat(temp_path, "*");                             //
 
    _finddata_t* fileinfo = new _finddata_t;            //указатель на объект структуры с информацией на файл
    long done;                                          //уникальный номер группы файлов в памяти
    long there_is_a_file;                               //для проверки: существует следующий файл?
    int count = 0;                                      //счетчик файлов
 
    done = _findfirst(temp_path, fileinfo);             //поиск файлов по указанному пути и маске, запись в структуру
    there_is_a_file = done;                             //fileinfo информации о первом найденном файле 
    
    while(there_is_a_file != -1)                        //если в списке есть файл
    {
        if(fileinfo->attrib == _A_SUBDIR && strcmp(fileinfo->name, ".") != 0 && strcmp(fileinfo->name, "..") != 0)               //если это директория
        {
            cout << fileinfo->name << endl;
 
            char* transition_path = new char[strlen(path) + 4 + strlen(fileinfo->name)];//   4 - две пары слешей 
            
            strcpy(transition_path, path);
            strcat(transition_path, "\\");
            strcat(transition_path, fileinfo->name);
            strcat(transition_path, "\\");
 
            count += SearchAll(transition_path);
            count++;
 
            delete []transition_path;
        }
        else                                                                          //соответственно не директория
        {
            cout << fileinfo->name << endl;
            count++;
        }
        there_is_a_file = _findnext(done, fileinfo); 
    }
 
    delete fileinfo;
    _findclose(done);
    
    return count;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru