【问题标题】:Does C++ have standard libraries for common File UtilitiesC++ 是否有用于常见文件实用程序的标准库
【发布时间】:2009-11-16 00:00:55
【问题描述】:

我正在寻找可以让我执行以下操作的 C++ 标准库:

  1. 递归遍历目录
  2. 在目录中搜索文件
  3. 检查文件是否存在,文件夹是否存在,如果不存在则创建它。
  4. 检查文件夹层次结构是否存在,如果未找到则创建它。相当于 mkdir -p
  5. 解压缩/压缩文件
  6. 检查文件的 CRC / Hash
  7. 复制文件、删除文件、删除文件夹、递归复制文件夹
  8. 运行系统命令并在程序中读取其控制台输出。

脚本语言和 Java 似乎对这类问题有很好的支持。 但是,我无法找到在 C++ 中执行此操作的标准方法。

【问题讨论】:

    标签: c++ file


    【解决方案1】:

    不,但如果你想要一个好的库实现,你可以查看Boost.Filesystem;它拥有广泛使用的跨平台工具,可以完成大部分工作。

    【讨论】:

    • 我听说过这个,但是我将不得不安装整个 Boost 库,这是 HUGE ,只是为了这一件事。不是吗?或者有没有办法只从 Boost 安装所需的东西?
    • 您是否担心硬盘驱动器上的可用空间或其他问题? (HD 空间很便宜。)仅仅因为您使用 boost 中的一个标头并不意味着您的最终程序必须知道或关心其余部分。许多 boost 库都是仅包含头文件的,并且与单个 #include 一样易于使用。
    • 我从未尝试过只使用 Boost 的一部分,但您只需要在您开发的计算机上安装这些库即可。您不必将整个包与您的应用程序一起分发。 Boost 库不会增加实际二进制文件的大小,因为只有在构建时才会引入您使用的内容。
    • Boost.Filesystem 不仅仅是头文件,所以你需要编译这个库。但它是一个非常有用的!
    • Boost 非常值得下载 - 即使您由于某种原因不能使用它(也许您的团队担心依赖性),Boost 是一个 伟大的 资源学习。
    猜你喜欢
    • 1970-01-01
    • 2021-10-27
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 2021-08-05
    • 1970-01-01
    • 2011-12-07
    相关资源
    最近更新 更多