找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 63|回复: 0

C++ 获取当前目录下的指定后缀文件

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-7-26 08:25:24 | 显示全部楼层 |阅读模式
#include "shlwapi.h"
#pragma comment(lib,"shlwapi.lib")
#pragma comment(lib, "Version.lib ")
#include <iostream>
#include <windows.h>
#include <algorithm>
#include <time.h>
#include <io.h>
#include <fstream>

struct tagFileInfo
{
        ULONG uLen;
        int nCreateTime;
        int nModifyTime;
        string strFileName;
};

// // 获取指定目录下的所有指定格式文件,返回的列表将按照创建时间排序,最早的在最前面
bool getDirFiles(string strDir, vector<tagFileInfo>& vecFiles,string strSuffixName)
{
        if (strDir.empty() || !isExistFile(strDir, true))
        {
                return false;
        }

        vecFiles.clear();
        string strPath = strDir + "*.*" + strSuffixName;

        // 文件信息
        struct _finddata_t _fileInfo;
       
        // 文件句柄
        intptr_t hFile = _findfirst(strPath.c_str(), &_fileInfo);
        if (-1 != hFile)
        {
                do
                {
                        string strFileName = strDir + string(_fileInfo.name);
                        if (isExistFile(strFileName))
                        {
                                tagFileInfo _tagInfo;
                                _tagInfo.nCreateTime = static_cast<int>(_fileInfo.time_create);
                                _tagInfo.nModifyTime = static_cast<int>(_fileInfo.time_write);
                                _tagInfo.uLen = static_cast<int>(_fileInfo.size);
                                _tagInfo.strFileName = strFileName;
                                vecFiles.push_back(_tagInfo);
                        }
                } while (0 == _findnext(hFile, &_fileInfo));
        }
        return true;
}






#include <vector>

using namespace std;

string m_strDir = "XXX/XX/XX";//目标目录

vector<tagFileInfo> vecFiles;
getDirFiles(m_strDir, vecFiles, "log");





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-27 22:16 , Processed in 0.120835 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表