便携式VFS库C++

Pat*_*Pat 5 c++ filesystems file-io portability

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

  • 跨平台:至少Win32和Linux,最好也是OSX
  • 支持协议:
    • SMB
    • FTP
    • SFTP
    • 本地FS
  • 基于URL的客户端工厂的抽象C++接口:
    • SMB:// [用户[:密码] @]主机/共享/路径...
    • FTP:// [用户[:密码] @]主机/路径...
    • SFTP:// [用户[:密码] @]主机/路径...
    • 文件路径...
  • 提供以下方法:
    • 列出目录,最好返回具有类似struct stat-attributes属性的条目
    • 移动
    • 复制
    • 去掉
    • 统计
    • 奖励:低级文件访问界面(打开,读取,写入,关闭......)

我已经看到一些好的库满足这些要求的一部分(用于FTP的卷曲,用于SFTP的libssh,仅举几例),但是没有一个能够满足这些要求.DIY有强烈的冲动,但我无法想象它已经不存在了.

Cel*_*ada 3

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