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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка оператора http://www.cyberforum.ru/cpp-beginners/thread506541.html
Подскажите пожалуйста, способ перегрузки операторов >= и <= в следующей строке if ( ob.str >= '0' && ob.str <= '9' )Мой вариант не перегружает: class MyClass { std::string str; public: int operator>= (unsigned char ch) }; //================================= int MyClass::operator>=(unsigned char ch)
Visual C++ MFC отказывается рисовать отказывается рисовать,вот код void CPultCtrl::OnPaint() { CWnd::OnPaint(); CPaintDC dc(this); unsigned int i = 0; for(;i < m_buttons.size(); i++) { m_buttons.Draw(&dc); }; http://www.cyberforum.ru/cpp-beginners/thread506505.html
Приложение работает в Win2K, не работает в Win2003 C++
Может кто сталкивался - прога написанная на VC++ нормально работает в Win2K(Prof/Server), но "вылетает" в Win2003Server. Причем случиться это может в любой момент. Определенная закономерность выявлена и даже участок кода (что-то связано с передачей _bstr_t через COM), но мне кажется это только следствие, а истинные причины где-то в другой части программы. Больше интересно почему это работает в...
Создание PPPoE подключения C++
можно ли программно создать PPPoE подключение и указать параметры подключения? Я не имею в виду соединение, а просто создать новое подключение в "Сетевые подключения" и вывести ярлык на рабочий стол
C++ Использование Internet protocol helper (iphlpapi) http://www.cyberforum.ru/cpp-beginners/thread506406.html
смысл моей задачи состоит в том, что надо изменить IP адрес своей сетевой карты... на MSDNе документировано совсем скудно, но штука сильная (чувствую) пробовал, но кроме того чтобы считать инфу по карте больше ничего не получается помогите плиззз
C++ Как задать динамически массив? Как задать динамически массив? Какой заголовчный файл необходим? Int *B=new A n=100 Заработает ли? подробнее

Показать сообщение отдельно
PavelA
Сообщений: n/a

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

27.11.2006, 04:44. Просмотров 5232. Ответов 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
Как мне сделать так,что бы функция заработатала?
Заранее всем спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru