c++遍歷文件夾的方法有哪些

c++
小億
106
2024-03-26 16:13:47

  1. 使用標(biāo)準(zhǔn)庫(kù)中的<filesystem>頭文件,可以使用std::filesystem::directory_iterator類(lèi)來(lái)遍歷文件夾中的文件和子文件夾。
#include <filesystem>
#include <iostream>

namespace fs = std::filesystem;

int main() {
    fs::path folder_path("path_to_folder");

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

    return 0;
}
  1. 使用Windows API中的FindFirstFileFindNextFile函數(shù)來(lái)遍歷文件夾中的文件和子文件夾。
#include <windows.h>
#include <iostream>

int main() {
    WIN32_FIND_DATA findFileData;
    HANDLE hFind = FindFirstFile("path_to_folder\\*", &findFileData);

    if (hFind == INVALID_HANDLE_VALUE) {
        std::cerr << "Error in finding the first file!" << std::endl;
        return 1;
    }

    do {
        std::cout << findFileData.cFileName << std::endl;
    } while (FindNextFile(hFind, &findFileData) != 0);

    FindClose(hFind);

    return 0;
}

這兩種方法都能夠遍歷文件夾中的文件和子文件夾,可以根據(jù)具體的需求選擇合適的方法。

0