[c++] 파일 및 디렉토리 정렬하기

파일과 디렉토리 정렬하기

C++17 이상에서는 <filesystem> 헤더에 포함된 std::filesystem 네임스페이스를 사용하여 파일과 디렉토리를 정렬할 수 있습니다.

#include <iostream>
#include <filesystem>
#include <algorithm>

int main() {
    std::filesystem::path path_to_directory = "path_to_your_directory";

    for (const auto& entry : std::filesystem::directory_iterator(path_to_directory)) {
        std::cout << entry.path().string() << std::endl;
    }

    std::vector<std::filesystem::directory_entry> sorted_entries;
    for (const auto& entry : std::filesystem::directory_iterator(path_to_directory)) {
        sorted_entries.push_back(entry);
    }

    std::sort(sorted_entries.begin(), sorted_entries.end(), [](const auto& a, const auto& b){
        return a.path().filename().string() < b.path().filename().string();
    });

    for (const auto& entry : sorted_entries) {
        std::cout << entry.path().filename().string() << std::endl;
    }

    return 0;
}

위의 예제 코드에서는 <filesystem> 헤더를 사용하여 특정 디렉토리 내의 파일과 디렉토리를 읽은 후, std::sort 함수를 사용하여 알파벳순으로 정렬합니다.

C++17에서 제공하는 <filesystem> 라이브러리를 사용하여 파일 및 디렉토리를 쉽게 다룰 수 있습니다.

참고 자료

위의 예제는 C++17 이상에서 동작합니다.