0

特定のディレクトリ (以下の例では folderA ) のサブディレクトリにある "letter.txt" ファイルを検索するプログラムを作成する必要があります。

例えば:

folderA/
   folderA1/...
   folderA2/...
   folderA3/...
   folderA4/letter.txt
   folderA5/...

どの API を使用する必要がありますか:

- list subdirectories of a specific directory ( folderA ), 
- open each of these subdirectories ( folderA1, folderA2, folderA3, etc ) 
- search and open the file letter.txt ?
4

2 に答える 2

3

生の Win32 では、これは を使用して行われFindFirstFileますが、再帰を手動でコーディングする必要があります。すべてのコーナー ケースを正しく処理するのは難しいでしょう (たとえば、循環ディレクトリ構造を作成する再解析ポイントがある場合はどうなるでしょうか?)。

Boost.Filesystemより便利にするために、 ;を使用できます。クラスrecursive_directory_iteratorはあなたが望むことを正確に行います。過去にrecls ライブラリも使用したことがありますが、非常に満足しています。

于 2012-04-18T12:30:16.763 に答える
1

そのタスクを実行する方法を私が知っている最善の方法は、Boost.filesystem ライブラリを使用することです。

http://www.boost.org/doc/libs/1_49_0/libs/filesystem/v3/doc/index.htm

必要なファイルを探して、ディレクトリ内のファイルとディレクトリを反復処理できるディレクトリ反復子 (および再帰的なディレクトリ反復子) を提供します。

于 2012-04-18T12:29:04.177 に答える