C++枚举文件

来源:互联网 发布:北京程序员周末培训班 编辑:程序博客网 时间:2024/06/08 14:19
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
int AllFileCount=0;
void enumFileAndFolder(char* lpszDirectory)
{
    WIN32_FIND_DATA    wfd;
    char    lpszFilter[MAX_PATH];

    wsprintf(lpszFilter,"%s\\*.*", lpszDirectory);
    HANDLE hFind = FindFirstFile(lpszFilter, &wfd);
    if (hFind == INVALID_HANDLE_VALUE) // 如果没有找到或查找失败
        return;
    do
    {
        if (wfd.cFileName[0] != '.')
        {
            if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
            {
                char strDirectory[MAX_PATH];
                wsprintf(strDirectory,"%s\\%s", lpszDirectory, wfd.cFileName);
                enumFileAndFolder(strDirectory);
            }
            else
            {
                char strFile[MAX_PATH];
                wsprintf(strFile, "%s\\%s", lpszDirectory, wfd.cFileName);
                printf("%s\n",strFile);
                AllFileCount++;
            }
        }
    } while (FindNextFile(hFind, &wfd));

    FindClose(hFind); // 关闭查找句柄
}
int _tmain(int argc, _TCHAR* argv[])
{
    //FILE *fp;
    //fp=fopen("FileList.txt","wb");

    enumFileAndFolder("C:\\Program Files (x86)\\云曜互联\\后宫OL");
    printf("共发现%d个文件\n",AllFileCount);

    return 0;
}

0 0
原创粉丝点击