• VC++实现遍历指定文件夹


    VC++实现遍历指定文件夹,并进行深度遍历,一级,二级。。。最终列出该文件夹下所有文件全路径。

    #include "stdafx.h"
    #include <iostream>
    #include <Windows.h>
    
    using namespace std;
    
    /************************************
    @ Brief:		判断文件是否存在
    @ Author:		woniu201 
    @ Created:		2018/09/12
    @ Return:            
    ************************************/
    BOOL IsDirExist(char* csDir)
    {
    	DWORD dwAttrib = GetFileAttributes(csDir);
    	return INVALID_FILE_ATTRIBUTES != dwAttrib && 0 != (dwAttrib & FILE_ATTRIBUTE_DIRECTORY);
    }
    
    /************************************
    @ Brief:		遍历文件夹
    @ Author:		woniu201 
    @ Created:		2018/09/13
    @ Return:            
    ************************************/
    BOOL DirectoryList(char* path)
    {
    	WIN32_FIND_DATA FindData;
    	HANDLE handle;
    
    
    	char fullName[2048] = {0};
    
    	char filePathName[2048] = {0};
    	strcpy(filePathName, path);
    	strcat(filePathName, "\*.*");
    	handle = FindFirstFile(filePathName, &FindData);
    	if (handle == INVALID_HANDLE_VALUE)
    	{
    		cout << "搜索失败" << endl;
    	}
    	while(FindNextFile(handle, &FindData))
    	{
    		//过滤.和..
    		if (strcmp(FindData.cFileName, ".") == 0 || strcmp(FindData.cFileName, "..") == 0)
    		{
    			continue;
    		}
    
    		sprintf(fullName, "%s\%s", path, FindData.cFileName);
    		cout << fullName << endl;
    
    		//判断是否是文件夹
    		if (IsDirExist(fullName))
    		{
    			DirectoryList(fullName);
    		}
    	}
    	FindClose(handle);
    	return TRUE;
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	DirectoryList("c:\");
    	getchar();
    	return 0;
    }
    
  • 相关阅读:
    redis 命令行 操作
    redis php sort 函数
    redis php 实例二
    redis php 实例一
    redis 分布式,主从同步
    inux redis 安装配置, 以及redis php扩展
    linux memcache 安装
    推荐linux命令在线查,简约而不简单
    基于Bootstrap样式的 jQuery UI 控件 (v0.5).
    C语言中文网
  • 原文地址:https://www.cnblogs.com/woniu201/p/11694577.html
Copyright © 2020-2023  润新知