25 windows_25_windows_File_Find 文件查找
Posted 养老保险年审
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了25 windows_25_windows_File_Find 文件查找相关的知识,希望对你有一定的参考价值。
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 文件查找的主要内容,如果未能解决你的问题,请参考以下文章
25 windows_25_windows_File_Find 文件查找
windows 7 x64用cmake,mingw32安装LLVM,编译时报错MemoryBuffer.cpp:381:25: error