c++ - 有没有C++轻量级的跨平台文件系统库?

标签 c++ api dll filesystems

我需要一个用于游戏开发的轻量级跨平台文件系统库。 我想在 Windows、Linux 和 Mac 上发布我的游戏。

据我所知,使用 dirent.h适用于所有三个平台。但是,我想知道是否存在一个使用起来更简单的库 - 直接使用 dirent 对我来说很困惑,而且我一无所获。

我也尝试过 Boost,但我不喜欢它不是轻量级的事实,它给我的游戏在 Unix 端口上带来了麻烦。

我需要的功能是:

  • 递归读取目录树
  • 获取目录下的所有文件
  • 获取一个目录下的所有子目录

最佳答案

我已经创建了自己的文件系统库(在 Windows 和 Linux 上测试过,均使用 GCC 和 Clang)。

您可以在 SSVUtils 库中找到它: https://github.com/SuperV1234/SSVUtils

SSVUtils 没有外部依赖。

示例用法:

log("Getting all page.json files", "loadPages");

string pagesPath("Json/Pages/");
vector<string> pageJsonPaths{getScan<Mode::Recurse, Type::File, Pick::ByName>(pagesPath, "page.json")};

关于c++ - 有没有C++轻量级的跨平台文件系统库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13669969/

相关文章:

c++ - int 比 long 快吗?

c++ - 如何从字符数组中去除换行符?

C# API 生成器

python ctype 递归结构

c++ - 释放DLL之前是否已完成卸载DLL?

c++ - Eclipse CDT Kepler 导入 Makefile 项目

c++ - 我需要在 autoexp.dat 中输入什么才能检查 vector 中包含的类的数据成员?

api - 我可以使用 API 将一个待办事项移动到另一个待办事项列表吗?

azure - 使用证书授予应用程序对 Azure Key Vault 的访问权限

c++ - 多个应用程序入口点