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를 사용할 수도 있습니다.