std::filesystem::directory_entry:: replace_filename
From cppreference.net
<
cpp
|
filesystem
|
directory entry
|
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
의
공개 멤버 함수)
|