std::filesystem::path 예제
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
// 경로 생성
fs::path path("/home/user/Documents");
// 경로 확인
std::cout << "경로: " << path << std::endl;
// 부모 경로 확인
std::cout << "부모 경로: " << path.parent_path() << std::endl;
// 파일/디렉토리 이름 확인
std::cout << "이름: " << path.filename() << std::endl;
// 확장자 확인
std::cout << "확장자: " << path.extension() << std::endl;
// 경로 결합
fs::path newPath = path / "file.txt";
std::cout << "결합된 경로: " << newPath << std::endl;
// 절대 경로 확인
std::cout << "절대 경로: " << newPath.make_absolute() << std::endl;
return 0;
}
이 예제에서는 std::filesystem::path
클래스를 사용하여 경로를 조작하는 방법을 보여줍니다. path
객체를 생성하고 다양한 멤버 함수를 사용하여 경로의 부모 경로, 파일/디렉토리 이름, 확장자 등을 확인할 수 있습니다. 또한 경로를 결합하거나 절대 경로로 변환하는 작업도 수행할 수 있습니다.
이 예제를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
경로: /home/user/Documents
부모 경로: /home/user
이름: Documents
확장자:
결합된 경로: /home/user/Documents/file.txt
절대 경로: /home/user/Documents/file.txt
위 예제 코드는 C++17 이상의 버전에서 컴파일되어야 합니다. std::filesystem
네임스페이스를 사용할 수 없는 경우, 대안으로 Boost 라이브러리의 boost::filesystem
를 사용할 수도 있습니다.