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

Рекурсивный обход директорий - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка оператора http://www.cyberforum.ru/cpp-beginners/thread506541.html
Подскажите пожалуйста, способ перегрузки операторов >= и <= в следующей строке if ( ob.str >= '0' && ob.str <= '9' )Мой вариант не перегружает: class MyClass { std::string str; ...
C++ Приложение работает в Win2K, не работает в Win2003 Может кто сталкивался - прога написанная на VC++ нормально работает в Win2K(Prof/Server), но "вылетает" в Win2003Server. Причем случиться это может в любой момент. Определенная закономерность... http://www.cyberforum.ru/cpp-beginners/thread506449.html
Создание PPPoE подключения C++
можно ли программно создать PPPoE подключение и указать параметры подключения? Я не имею в виду соединение, а просто создать новое подключение в "Сетевые подключения" и вывести ярлык на рабочий...
C++ Использование Internet protocol helper (iphlpapi)
смысл моей задачи состоит в том, что надо изменить IP адрес своей сетевой карты... на MSDNе документировано совсем скудно, но штука сильная (чувствую) пробовал, но кроме того чтобы считать инфу...
C++ Как задать динамически массив? http://www.cyberforum.ru/cpp-beginners/thread506360.html
Как задать динамически массив? Какой заголовчный файл необходим? Int *B=new A n=100 Заработает ли?
C++ Проблемы с sendto и setsockopt Доброе время суток! Мне необходимо в IP заголовке задать TTL. Для этого я говорю винде, что ip заголовок буду определять сам, с помощью функции: int option=1; setsockopt (s, IPPROTO_IP,... подробнее

Показать сообщение отдельно
PavelA

Рекурсивный обход директорий - C++

27.11.2006, 04:44. Просмотров 5401. Ответов 3
Метки (Все метки)

Уважаемые Гуру, требуется ваша помошь.
Мне необходимо реализовать рекурсивный обход директорий,начиная с заданной.
У меня есть класс с следующими методами:
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
// Устанавливает рабочую директорию
void CDirInfo::SetDir( std::string strInitialDir )
{
    m_strInitialDir = strInitialDir;
}
// Запускает обработку заданной (через SetDir) директории
int CDirInfo::ProcessDir( bool bRecursive /* = true  */ )
{
    cout << endl << "Dir: " << m_strInitialDir << endl;
    string strWildcard;
#ifdef WIN32
    //
    // WINDOWS FindFile routines
    //
    strWildcard = m_strInitialDir + "\*.*";
    _finddata_t s_Dir;
    intptr_t hDir;
    
    if( (hDir = _findfirst( strWildcard.c_str(), &s_Dir )) == -1L )
        return 1;
    do
    {
        if( s_Dir.name[ 0 ] != '.'  && ( s_Dir.attrib & _A_SUBDIR ) && bRecursive == true )
        {   
            SetDir( m_strInitialDir + '\ ' + s_Dir.name );
            ProcessDir( bRecursive );
        }
        else if ( s_Dir.name[ 0 ] != '.' )
           cout << endl << "File: " << s_Dir.name <<  endl;
    } while( _findnext( hDir, &s_Dir ) == 0 );
    _findclose( hDir );
    return 0;</P>
#else // #ifdef WIN32 
}
Есть директория TEMP:
D:TEMP/new/new3 и
D:TEMP/new2

Так вот при запуске ProcessDir() получается вот что:
D:TEMP/new
D:TEMP/new/new3
D:TEMP/new2/new3/new2
Как мне сделать так,что бы функция заработатала?
Заранее всем спасибо!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru