14

私は現在、Boost フレームワークを学習している最中であり、システム上のすべてのフォルダーとファイルを一覧表示する方法を見つけました。

#include <boost/filesystem.hpp>
#include <boost/foreach.hpp>
#include <iostream>
using namespace std;
int main()
{
    for ( boost::filesystem::recursive_directory_iterator end, dir("C:\\");
       dir != end; ++dir ) {
       cout << *dir << std::endl;
    }
    return 0;
}

しかし、私が抱えている唯一の問題は、プロセスがどれほど遅いかということです...何か間違ったことをしているのですか、それともすべてのファイルをリストするMicrosoftの.NETバージョンがはるかに高速であるためですか? ありがとう!

4

3 に答える 3

0

また、フォルダ内に存在するファイルの数によっても異なります。ファイルが多い場合は、かなり時間がかかります。非常に少ないファイルを含むフォルダーで試しましたか?

于 2013-03-11T00:15:14.157 に答える
0

.NET バージョンはインデックス化されている可能性があり、おそらくフラット フォーマットからファイル名を読み取るだけで済みます。あなたが提案するものは、すべてのディレクトリを開く必要があります。

于 2013-03-25T12:30:01.753 に答える