#include<windows.h>
#include<set>
#include<string>
#include<iostream>
using namespace std;
void traverseFolder(char *pszDir, set<string> &fileSet)
{
WIN32_FIND_DATA fileData;
HANDLE hFind = ::FindFirstFile(pszDir, &fileData);
if (INVALID_HANDLE_VALUE == hFind) {
return;
}
while (TRUE) {
string filename(fileData.cFileName);
fileSet.insert(filename);
if (!::FindNextFile(hFind, &fileData)) {
break;
}
}
::FindClose(hFind);
}
int main()
{
set<string> myFolder;
char *folderName = "D:\\doc\\*";
traverseFolder(folderName, myFolder);
for(set<string>::iterator iter = myFolder.begin(); iter != myFolder.end(); ++iter)
{
cout<<*iter<<endl;
}
cout<<"------------"<<endl;
return 0;
}