[解決済み] 標準的なC++で、すべてのファイル/ディレクトリを再帰的に反復処理するには?
2022-05-13 10:12:51
質問
標準的な C++ で、すべてのファイル/ディレクトリを再帰的に反復処理するにはどうしたらよいでしょうか。
どのように解決するのですか?
標準 C++ では、ディレクトリの概念がないため、技術的にこれを行う方法はありません。もし、あなたのネットを少し広げたいのであれば、以下のものを使うことをお勧めします。 Boost.FileSystem . これはTR2に含まれることが承認されたので、あなたの実装をできるだけ標準に近づけることができる可能性が高くなります。
ウェブサイトから直接引用した例です。
bool find_file( const path & dir_path, // in this directory,
const std::string & file_name, // search for this name,
path & path_found ) // placing path here if found
{
if ( !exists( dir_path ) ) return false;
directory_iterator end_itr; // default construction yields past-the-end
for ( directory_iterator itr( dir_path );
itr != end_itr;
++itr )
{
if ( is_directory(itr->status()) )
{
if ( find_file( itr->path(), file_name, path_found ) ) return true;
}
else if ( itr->leaf() == file_name ) // see below
{
path_found = itr->path();
return true;
}
}
return false;
}
関連
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] glob()を使って再帰的にファイルを検索するには?
-
[解決済み] 1つのディレクトリにいくつまでファイルを置くことができますか?
-
[解決済み】enumを繰り返し処理する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】coutはstdのメンバではない
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】C++の変数はイニシャライザーを持っているが、不完全な型?
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++