windows api 读取目录下所有文件

#include 
#include 

void enum_path(char *cpath){ 
	WIN32_FIND_DATA wfd; 
	HANDLE hfd; 
	char cdir[MAX_PATH]; 
	char subdir[MAX_PATH]; 
	int r; 
	GetCurrentDirectory(MAX_PATH,cdir); 
	SetCurrentDirectory(cpath); 
	hfd = FindFirstFile("*.*",&wfd); 
	if(hfd!=INVALID_HANDLE_VALUE) { 
		do{ 
			if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
			{ 
				if(wfd.cFileName[0] != '.') { 
					// 合成完整路径名 
					sprintf(subdir,"%s//%s",cpath,wfd.cFileName); 
					// 递归枚举子目录 
					enum_path(subdir); 
				} 
			}else{ 
				printf("%s\\%s\n",cpath,wfd.cFileName); 
				// 病毒可根据后缀名判断是 
				// 否要感染相应的文件 
			} 
		}while(r=FindNextFile(hfd,&wfd),r!=0); 
	} 
	SetCurrentDirectory(cdir); 
} 
int main(){
	enum_path("D:\\");
	return 0;
}


你可能感兴趣的:(C/C++,windows,api,path,include,file)