SpecialForce 0 Newbie Poster

I have the following code witch I have modified with help from Ancient Dragon:

#pragma warning(disable: 4786)
    #include <io.h>
    #include <string>
    #include <vector>
    #include <list>
    #include <iostream>
    using namespace std;
     
     
    // structure to hold a directory and all its filenames.
    struct FILELIST
    {
    string path;
    vector<string> theList;
    };
     
     
    void TransverseDirectory(string path, list<FILELIST>& theList)
    {
    string exclude_this_dir = "pacman";
    struct _finddatai64_t data;
    string fname = path + "\\*.*";
    long h = _findfirsti64(fname.c_str(),&data);
    if(h >= 0)
    {
    FILELIST thisList;
    theList.push_back(thisList);
    list<FILELIST>::iterator it = theList.end();
    it--;
     
    (*it).path = path;
    do {
    if( (data.attrib & _A_SUBDIR) )
    {
    // make sure we skip "." and "..". Have to use strcmp here because
    // some file names can start with a dot, so just testing for the
    // first dot is not suffient.
    if( path + "\\" + data.name != path + "\\" + exclude_this_dir)
    {
    if( strcmp(data.name,".") != 0 &&strcmp(data.name,"..") != 0)
    {
    // We found a sub-directory, so get the files in it too
    fname = path + "\\" + data.name;
    // recurrsion here!
    TransverseDirectory(fname,theList);
    }
    }
     
    }
    else
    {
    // this is just a normal filename. So just add it to our vector
    (*it).theList.push_back(data.name);
     
    }
    }while( _findnexti64(h,&data) == 0);
    _findclose(h);
     
    }
     
    }
     
    int main(int argc, char* argv[])
    {
    list<FILELIST> MyList;
    string path;
    cout << "Enter starting path ... ";
    getline(cin,path);
    TransverseDirectory(path,MyList);
    list<FILELIST>::iterator it;
    for(it = MyList.begin(); it != MyList.end(); it++)
    {
    vector<string>::iterator its;
    for(its = (*it).theList.begin(); its != (*it).theList.end(); its++)
    {
    cout << (*it).path + "\\" + (*its) << endl;
    }
     
    }
    cin.ignore();
    return 0;
    }

Using the code you can exclude directories from directory listing. Can someone please tell me how I can make this code to list only sub-directories of a selected folder only instead of excluding them?

What I have done:

c:\games\test.txt
c:\games\tetris\extradir\text.txt
c:\games\pacman\extradir1\data.txt
c:\games\pacman\extradir2\data2.txt
c:\games\pacman\extradir2\stuff\moredata.txt
c:\games\pacman\extradir2\stuff\morestuff\moredata2.txt


What I am trying to do:

c:\games\test.txt
c:\games\tetris\extradir\text.txt
c:\games\pacman\extradir1
c:\games\pacman\extradir2