2009-11-16 32 views
2

我要寻找一个在C++标准库,让我做的事情就像标准库:的确C++有共同文件功能

  1. 遍历目录递归
  2. 搜索文件的目录内
  3. 检查文件是否存在,文件夹是否存在,如果不存在则创建它。
  4. 检查文件夹层次结构是否存在,或者如果找不到,则创建它。 MKDIR -p
  5. 解压缩的当量/压缩文件
  6. 检查文件
  7. 拷贝文件的CRC /散列,删除文件,删除文件夹,复制文件夹递归
  8. 运行系统命令和读取其控制台在程序内输出。

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

回答

8

不,但如果你想要一个好的库实现,你可以看看Boost.Filesystem;它已被广泛使用,用于完成大部分这些事情的跨平台设施。

+0

我听说过这个,但是我将不得不安装整个Boost库,这是巨大的,只是为了这一件事。不是吗?或者有没有办法只从Boost安装所需的东西? – user855 2009-11-16 00:06:05

+0

您是否担心硬盘或其他设备上的可用空间? (HD空间很便宜)。仅仅因为你使用了一个头文件,并不意味着你的最终程序必须知道或关心其余的内容。许多boost库只是头文件,并且这些文件与单个#include一样易于使用。 – 2009-11-16 00:08:22

+0

我从来没有尝试过只使用Boost的一部分,但您只需要在开发的计算机上安装这些库。您无需将整个软件包与您的应用程序一起分发。 Boost库不会增加实际二进制文件的大小,因为在构建时只会使用您所使用的二进制文件。 – 2009-11-16 00:10:56