您的位置:首页 > 编程语言 > C语言/C++

标准的window API 便利文件夹 c++

2015-07-21 10:26 429 查看
什么也不说了,直接上源码,,,哈哈

#include "stdafx.h"
#include "windows.h"

//获取该路径下的所有文件
void getFiles(LPCTSTR lpPath){
//临时路径
TCHAR szFind[MAX_PATH]={_T("\0")};
//查找文件的数据
WIN32_FIND_DATA findFileData;
BOOL bRet;

//把查找的路径拷贝到临时路径中
_tcscpy_s(szFind,MAX_PATH,lpPath);
//拼接字符串
_tcscat_s(szFind,_T("\\*.*"));
//查询文件句柄
HANDLE hFind=::FindFirstFile(szFind,&findFileData);
//句柄无效
if (INVALID_HANDLE_VALUE==hFind)
{
return;
}

while(TRUE){
if (findFileData.cFileName[0]!=_T('.')||findFileData.cFileName[0]!=_T('..'))
{

//	_tprintf(_T("%s\\%s\n"),lpPath,findFileData.cFileName);

if (findFileData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)//如果是文件夹
{
_tcscpy_s(szFind,MAX_PATH,lpPath);
_tcscat_s(szFind,_T("\\"));
_tcscat_s(szFind,findFileData.cFileName);
getFiles(szFind);
}else
{
_tprintf(_T("%s\\%s\n"),lpPath,findFileData.cFileName);
}

}
bRet=::FindNextFile(hFind,&findFileData);

if (!bRet)
{
break;
}
}
//关闭句柄
::FindClose(hFind);

}
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR szFindpath[MAX_PATH]={_T("d:\\QQ")};
getFiles(szFindpath);

system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: