Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przeszukiwania katalogów

Ostatnio zmodyfikowano 2011-09-27 15:34
Autor Wiadomość
Aplauz
Temat założony przez niniejszego użytkownika
Przeszukiwania katalogów
» 2011-09-27 14:32:45
Witam,
Napisałem prost program, który przeszukuje katalogi i wyświetla ich nazwę. Nie umiem jednak zrobić, aby program wchodził do podkatalogów i wypisywał ich zawartość. Podejrzewam, iż najlepiej zrobić to rekurencyjnie. W jaki sposób mogę sprawić, by mój program zorientował się, że trafił na katalog i wszedł do niego?  Pomocy!

C/C++
#include <windows.h>
#include <iostream>
#include <io.h>
#include <fstream>
#include <list>
#include <string>

using namespace std;

list < string > GetFilesFromDirectory( string dir )
{
    list < string > files;
   
    string path = dir + "*";
   
    WIN32_FIND_DATA FindFileData;
   
    HANDLE hFind;
   
    if(( hFind = FindFirstFile( path.c_str(), & FindFileData ) ) == INVALID_HANDLE_VALUE )
    {
        return files;
    }
    else
    {
        files.push_back( FindFileData.cFileName );
       
        while( FindNextFile( hFind, & FindFileData ) )
        {
            files.push_back( FindFileData.cFileName );
        }
       
        FindClose( hFind );
    }
   
    return files;
}

int main()

{
   
    char * buffer = new char[ 120 ];
    memset( buffer, 0, 120 );
    GetEnvironmentVariable( "ALLUSERSPROFILE", buffer, 120 );
   
    // Autostart
    string path = buffer;
   
    path += "\\Start Menu\\Programs\\Startup\\";
    list < string > files = GetFilesFromDirectory( path );
   
    list < string >::iterator it = files.begin();
    it++;
    it++;
   
    for(; it != files.end(); it++ )
    {
        cout << "\"" << path << "\",\"" << * it << "\"" << std::endl;
    }
   
   
    system( "pause" );
    return 0;
}
P-41478
pekfos
» 2011-09-27 15:16:29
Dokumentacja io.h? (flaga _A_SUBDIR)
P-41480
Aplauz
Temat założony przez niniejszego użytkownika
» 2011-09-27 15:34:21
Tzn. To fragment innego mojego kodu, zapomniałem się tego pozbyć, mimo wszystko dzięki ; ]
P-41482
« 1 »
  Strona 1 z 1