Namespaces
Variants

std::filesystem::directory_entry:: replace_filename

From cppreference.net
void replace_filename ( const std:: filesystem :: path & p ) ;
(1) (C++17 이후)
void replace_filename ( const std:: filesystem :: path & p, std:: error_code & ec ) ;
(2) (C++17 이후)

디렉터리 엔트리의 파일명을 변경합니다.

경로 멤버를 path. replace_filename ( p ) 로 효과적으로 수정하고 캐시된 속성을 업데이트하기 위해 refresh 를 호출합니다. 오류가 발생하면 캐시된 속성 값들은 지정되지 않습니다.

이 함수는 파일 시스템에 어떠한 변경 사항도 커밋하지 않습니다.

목차

매개변수

p - 현재 저장된 경로의 부모 경로에 추가할 경로
ec - 비예외 오버로드에서 오류 보고를 위한 출력 매개변수

반환값

(없음)

예외

noexcept 로 표시되지 않은 모든 오버로드는 메모리 할당이 실패할 경우 std::bad_alloc 을(를) throw할 수 있습니다.

1) 기본 OS API 오류 발생 시 std::filesystem::filesystem_error 를 발생시킵니다. 이는 p 를 첫 번째 경로 인수로, OS 오류 코드를 에러 코드 인수로 구성되어 생성됩니다.
2) OS API 호출이 실패할 경우 std:: error_code & 매개변수를 OS API 오류 코드로 설정하고, 오류가 발생하지 않을 경우 ec. clear ( ) 를 실행합니다.

예제

#include <filesystem>
#include <iostream>
int main()
{
    namespace fs = std::filesystem;
    {
        fs::directory_entry entry{"alpha"};
        std::cout << entry << '\n';
        entry.replace_filename("omega");
        std::cout << entry << '\n';
    }
    {
        fs::directory_entry entry{"/alpha/"};
        std::cout << entry << '\n';
        entry.replace_filename("omega");
        std::cout << entry << '\n';
    }
}

출력:

"alpha"
"omega"
"/alpha/"
"/alpha/omega"

참고 항목

내용 할당
(공개 멤버 함수)
마지막 경로 구성 요소를 다른 경로로 교체
( std::filesystem::path 의 공개 멤버 함수)