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

How to read/interrogate a filesystem and file structure

本文关键字:查询 文件系统 文件结构 何读取 读取      更新时间:2023-10-16

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

我想我错过了一两个可以非常干净地处理这个问题的图书馆,很高兴知道。更好的是知道在哪里可以找到此类基础知识的可靠参考。

如果你有一个现代编译器,你可以使用 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++标准结束,因此学习是一件好事。

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

当然,您可以使用 f4 答案中给出的C++函数(它们基于上面的函数(。

你可以使用C++框架,如boost,poco,Qt(也使用上面的函数(。