[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 이상에서 동작합니다.