windows遍历文件夹代码

#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;
}

猜你喜欢

转载自blog.csdn.net/niu91/article/details/70050074
今日推荐