7

ディレクトリから多数のファイルを読み取るC++プログラムを作成したいのですが、ファイルの数は不確定です。私はPythonの実装を知っています-OS.walk、それはこの仕事を完璧に行います:

Python OS.walk

このOS.walk機能のC++実装について何かアイデアはありますか?

前もって感謝します

4

2 に答える 2

12
#include <boost/filesystem.hpp>
#include <iostream>

int main()
{
 boost::filesystem::path path = boost::filesystem::current_path();
 boost::filesystem::recursive_directory_iterator itr(path);
 while (itr != boost::filesystem::recursive_directory_iterator())
 {
   std::cout << itr->path().string() << std::endl;
   ++itr;
 }
}

http://www.deanwarrenuk.com/2012/09/how-to-recursively-walk-folder-in-c.htmlから直接取得

これは、ファイル システムの違いを隠すためにブースト ライブラリが必要な理由をよく説明しています。

于 2013-02-28T17:17:26.983 に答える
4

標準 C++ では、これは現在不可能です。

ただし、おそらく C++ の将来のバージョンに含まれるBoost.Filesystem (を探す) を使用できます。recursive_directory_iterator

于 2013-02-28T17:16:30.537 に答える