标签:
windows_25_windows_File_Find 文件查找
// windows_25_windows_File_Find.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>void FindAdv1( LPSTR pszPath,LPSTR pszType ){//构造一个查找字符串CHAR szFind[MAX_PATH] = { 0 };sprintf_s( szFind, MAX_PATH, "%s%s", pszPath, pszType );//开始查找WIN32_FIND_DATA find = { 0 };HANDLE hFind = FindFirstFile( szFind, &find );//显示查找结果BOOL bRet = TRUE;while (bRet == TRUE){//判断为文件还是目录if (find.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) //如果与完不为空,那就是一个目录{//是目录printf( "目录:%s\n", find.cFileName );//排除 . .. 上级目录的表示法if (find.cFileName[0] != ‘.‘){//构造下一层目录路径CHAR szNextPath[MAX_PATH] = { 0 };sprintf_s( szNextPath, MAX_PATH, "%s%s\\", pszPath, find.cFileName );//printf( "%s\n", szNextPath );FindAdv1( szNextPath, pszType );}}else{//是文件printf( "文件:%s\n", find.cFileName );}bRet = FindNextFile( hFind, &find );}//关闭FindClose( hFind );}//这个打印目录时少了一个点,上面FindAdv1有改进void FindAdv( LPSTR pszPath, LPSTR pszType ){//构造一个查找字符串CHAR szFind[MAX_PATH] = { 0 };sprintf_s( szFind, MAX_PATH, "%s%s", pszPath, pszType );//开始查找WIN32_FIND_DATA find = { 0 };HANDLE hFind = FindFirstFile( szFind, &find );//显示查找结果while (FindNextFile( hFind, &find )){//判断为文件还是目录if (find.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) //如果与完不为空,那就是一个目录{//是目录printf( "目录:%s\n", find.cFileName );//排除 . .. 上级目录的表示法if (find.cFileName[0] == ‘.‘){continue;}//构造下一层目录路径CHAR szNextPath[MAX_PATH] = { 0 };sprintf_s( szNextPath, MAX_PATH, "%s%s\\", pszPath, find.cFileName );//printf( "%s\n", szNextPath );FindAdv( szNextPath, pszType );}else{//是文件//printf( "文件:%s\n", find.cFileName );}}//关闭FindClose( hFind );}void Find( LPSTR pszPath ){//开始查找WIN32_FIND_DATA find = { 0 };HANDLE hFind = FindFirstFile( pszPath, &find );//显示查找结果while (FindNextFile( hFind, &find )){//判断为文件还是目录if (find.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) //如果与完不为空,那就是一个目录{//是目录printf( "目录:%s\n", find.cFileName );}else{//是文件printf( "文件:%s\n", find.cFileName );}}//关闭FindClose( hFind );}int _tmain(int argc, _TCHAR* argv[]){//Find( "D:\\download\\*.*" );//FindAdv( "D:\\download\\","*.*" ); //缺失.体FindAdv1( "D:\\download\\", "*.*" ); //完善体return 0;}
25 windows_25_windows_File_Find 文件查找
标签:
原文地址:http://www.cnblogs.com/nfking/p/5573492.html