C++を使用してディレクトリ内のすべてのファイルを読み取る方法

ファイルシステムの読み取りには、C++ のファイルシステム ライブラリ(ファイルシステム)を使用できます。以下のコードは一例です。

#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;

int main() {
    std::string folderPath = "your_folder_path";  // 替换为你的文件夹路径

    for (const auto& entry : fs::directory_iterator(folderPath)) {
        if (entry.is_regular_file()) {
            std::cout << entry.path() << std::endl;
        }
    }

    return 0;
}

コードでは、まずヘッダーファイルをインクルードし、名前空間fs = std::filesystemを使用してファイルシステムの名前空間を定義します。次に、文字列変数folderPathを定義してフォルダーパスを格納します。その後、ディレクトリイテレータオブジェクトを使用してフォルダー内のすべてのアイテムを反復処理します。is_regular_file()メソッドを呼び出すことで、現在のアイテムが通常のファイルかどうかを判断できます。通常ファイルである場合は、path()メソッドを使用してファイルのパスを取得し、コンソールに出力します。

注意が必要なのは、上のサンプルコードはC++ 17標準をサポートしているコンパイラに対してのみ動作するということです。もしも古いコンパイラを使用しているならば、同様な機能を実現させるために、異なるファイルシステムライブラリまたは別の方法を使用する必要があるかもしれません。

bannerAds