c++ - 可移植 VFS 库 C++

标签 c++ file-io filesystems portability

有没有人遇到过满足这些要求的优秀文件系统虚拟化库?

  • 跨平台:至少是 Win32 和 Linux,最好是 OSX
  • 支持协议(protocol):
    • 中小企业
    • FTP
    • SFTP
    • 本地FS
  • 基于 URL 与客户端工厂的抽象 C++ 接口(interface):
    • smb://[用户[:密码]@]主机/共享/路径...
    • ftp://[用户[:密码]@]主机/路径...
    • sftp://[用户[:密码]@]主机/路径...
    • 文件://路径...
  • 提供以下方法:
    • 列出目录,最好返回具有类似 struct stat 属性的条目
    • 移动
    • 复制
    • 删除
    • 数据
    • 奖励:低级文件访问接口(interface)(打开、读取、写入、关闭...)

我见过一些满足这些要求的子集的好库(FTP 的 curl,SFTP 的 libssh,仅举几例),但还没有一个能满足所有要求。 有一种强烈的 DIY 冲动,但我无法想象它已经不存在了。

最佳答案

它是用 C 实现的,而不是 C++,但我很确定 GIO支持其中的大部分。这是 GNOME 项目的一部分,大多数 GNOME 应用程序将其用作文件系统抽象。

关于c++ - 可移植 VFS 库 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570316/

相关文章:

c++ - C++ 中的工厂模式 : generating explicit createInstance()-Method automatically

java - 从另一个方法传递数组作为参数

powershell - 在 PowerShell 中结合 `Get-Disk` 信息和 `LogicalDisk` 信息?

c++ - 获取目录的大小(而不是目录的大小)

c++ - OpenGL为计算着色器设置SSBO

c++ - 使用类型删除在 C++11 中删除 void*

c++ - C++ 函数可以返回一个指向已知长度数组的指针吗?

c++ - 从具有不同变量类型的文件中逐行读取

np.loadtxt 和 iter_loadtxt 中的 Python MemoryError 或 ValueError

c - Linux 系统调用如何与文件系统交互