设为首页 加入收藏

TOP

C++枚举某个目录下所有文件的代码教程(三)
2018-06-22 08:53:44 】 浏览:1012
Tags:枚举 某个 目录 所有 文件 代码 教程
ke_pair(FindData.name, FindData)); //遍历 while (_findnext(FileIndes,&FindData) >= 0) { //插入 vecRes.push_back(FindData.name); m_mapFindData.insert(make_pair(FindData.name, FindData)); } _findclose(FileIndes); return vecRes; } //获取文件访问属性 unsigned CEnumFile::GetFileAttrib(string szFileName) { auto iter = m_mapFindData.find(szFileName); if (iter == m_mapFindData.end()) { stringstream ss; ss << ExceptionHead<<"目录" << m_szPath << "下" << "不存在此文件" << endl; ss >> m_szErrorInfo; perror(m_szErrorInfo.c_str()); throw std::exception(m_szErrorInfo.c_str()); } return iter->second.attrib; } //获取文件创建时间 time_t CEnumFile::GetCreateTime(string szFileName) { auto iter = m_mapFindData.find(szFileName); if (iter == m_mapFindData.end()) { stringstream ss; ss << ExceptionHead << "目录" << m_szPath << "下" << "不存在此文件" << endl; ss >> m_szErrorInfo; perror(m_szErrorInfo.c_str()); throw std::exception(m_szErrorInfo.c_str()); } return iter->second.time_create; } //获取文件最后访问时间 time_t CEnumFile::GetLastAccessTime(string szFileName) { auto iter = m_mapFindData.find(szFileName); if (iter == m_mapFindData.end()) { stringstream ss; ss << ExceptionHead << "目录" << m_szPath << "下" << "不存在此文件" << endl; ss >> m_szErrorInfo; perror(m_szErrorInfo.c_str()); throw std::exception(m_szErrorInfo.c_str()); } return iter->second.time_access; } //获取最后写入时间 time_t CEnumFile::GetLastWriteTime(string szFileName) { auto iter = m_mapFindData.find(szFileName); if (iter == m_mapFindData.end()) { stringstream ss; ss << ExceptionHead << "目录" << m_szPath << "下" << "不存在此文件" << endl; ss >> m_szErrorInfo; perror(m_szErrorInfo.c_str()); throw std::exception(m_szErrorInfo.c_str()); } return iter->second.time_write; }
// EnumFile.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include 
  
   
#include 
   
     #include 
    
      #include "EnumFile.h" using namespace std; #pragma warning(disable:4996) string FormatTime(time_t time,string szFormat) { assert(szFormat.size() != 0); if (szFormat.size() == 0) { throw std::exception("格式化字符串为空"); } tm* pTm; pTm = localtime(&time); string szRes(64, '\0'); strftime(&szRes[0], szRes.size(), szFormat.c_str(), pTm); return szRes; } int main() { try { CEnumFile enumFile("C:/Users/善军/Desktop"); vector
     
       vecFiles = enumFile.EnumFile(); cout << vecFiles.size() << endl; for (auto item : vecFiles) { cout << item << ":" << FormatTime(enumFile.GetLastWriteTime(item),"%Y-%m-%d %H:%M:%S") << endl; } } catch (const std::exception& e) { cout << e.what() << endl; } return 0; } 
     
    
   
  
首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C/C++的(大数)进制转换面试题解.. 下一篇C++数组的使用(代码实例)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目