1 Star 0 Fork 5

今生有缘/ZHLT_UPack

forked from ccc1/ZHLT_UPack 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
FileUtils.h 1.49 KB
一键复制 编辑 原始数据 按行查看 历史
ccc1 提交于 2016-08-20 02:17 . .
#pragma once
#ifdef _WIN32
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <io.h>
#include <WinSock.h>
#else
#include <limits.h>
#include <dlfcn.h> //dlopen
//!MAX_PATH
#ifndef MAX_PATH
#define MAX_PATH 260
#endif
#endif
#include <string>
#include <vector>
#include <time.h>
#include <algorithm>
using namespace std;
namespace FileUtils
{
//!ȡ׼Ŀ¼·
string GetStandPath(const char* path);
string GetStandFilePath(const char* filePath);
bool FileDelete(const char* file);
string GetFileExt(const char* filePath);
string GetFileName(const char* filePath);
string GetCurrentDir();
bool IsDirectory(const char* path);
bool DirExists(const char* path);
bool DirCreate(const char* path);
bool DirDelete(const char* path);
bool DirCreateRecursion(const char* path);
bool DirDeleteRecursion(const char* path);
struct file_t
{
char filename[MAX_PATH];
char fullpath[MAX_PATH];
unsigned long long filesize;
bool isDir;
};
//!
bool SearchFiles(const char* path, vector<file_t> & files);
template < typename OP >
inline bool ForEachFiles(const char* path, const OP& op)
{
vector<file_t> files;
if (SearchFiles(path, files))
{
class eachfile
{
public:
eachfile(const OP& op)
: m_op(op)
{
}
void operator()(file_t file)
{
m_op(file.filename);
}
const OP& m_op;
};
std::for_each(files.begin(), files.end(), eachfile(op));
return true;
}
return false;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/lxq2537664558/ZHLT_UPack.git
git@gitee.com:lxq2537664558/ZHLT_UPack.git
lxq2537664558
ZHLT_UPack
ZHLT_UPack
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385