如何读取/询问文件系统和文件结构

时间:2018-06-28 16:10:22

标签: c++

作为第一次使用vi和原始的Linux终端在C ++中使用vi进行编程,最简单的方法是通过文件系统递归并获得诸如文件大小,日期,目录日期等结果吗?

我想我缺少一个或两个可以很干净地处理此问题的库,这将是一个很好的认识。甚至更好的是知道在哪里可以找到像这样的基础的扎实参考。

2 个答案:

答案 0 :(得分:5)

如果您使用的是现代编译器,则可以使用std :: filesystem:

https://en.cppreference.com/w/cpp/filesystem

否则,您可以使用boost :: filesystem,它非常相似,但是不标准:

https://www.boost.org/doc/libs/1_67_0/libs/filesystem/doc/index.htm

Boost是具有各种目的且注重质量的库的集合。 Boost库通常会以新的C ++标准结尾,因此学习是一件好事。

答案 1 :(得分:2)

您可能会考虑(至少在Linux上)使用nftw(3)。您可以将opendir(3) + readdir(3) + closedirstat(2)一起使用(nftw正在使用所有这些)。另请参阅syscalls(2)(并阅读一些Linux编程书籍,也许是旧的ALP)。请注意,在Linux(和POSIX系统)上,操作系统API使用C而不是C ++。

当然,您可以使用f4's answer中提供的C ++函数(它们基于上面的函数)。

您可以使用C ++框架,例如boostpocoQt(也可以使用上面的函数)。