Namespaces
Variants

std::experimental::filesystem::path:: append, std::experimental::filesystem::path:: operator/=

From cppreference.net
path & operator / = ( const path & p ) ;
(1) (filesystem TS)
template < class Source >
path & operator / = ( const Source & source ) ;
(2) (filesystem TS)
template < class Source >
path & append ( const Source & source ) ;
(3) (filesystem TS)
template < class InputIt >
path & append ( InputIt first, InputIt last ) ;
(4) (filesystem TS)
1) 먼저, 다음 조건 중 어느 하나라도 참이 아닌 경우 this 에 선호하는 디렉토리 구분자를 추가합니다:
* 구분자가 중복될 것입니다 ( * this 가 이미 구분자로 끝나기 때문입니다).
* * this 가 비어 있거나, 이를 추가하면 상대 경로가 어떤 다른 방식으로 절대 경로로 바뀌는 경우입니다.
* p 는 빈 경로입니다.
* p. native ( ) 가 디렉토리 구분자로 시작합니다.
그런 다음, p. native ( ) * this 가 유지하는 경로명에 추가합니다.
2,3) (1) 과 동일하지만, 모든 std:: basic_string , null-terminated multicharacter string, 또는 null-terminated multicharacter sequence를 가리키는 입력 반복자를 허용합니다.
4) (1) 과 동일하지만, 멀티바이트 문자열을 지정하는 모든 반복자 쌍을 허용합니다.

목차

매개변수

p - 추가할 경로명
source - std:: basic_string , null로 종료된 다중 문자 문자열, 또는 null로 종료된 다중 문자 시퀀스를 가리키는 입력 반복자 (휴대용 형식이나 기본 형식 중 하나의 경로명을 나타냄)
first, last - 경로명을 나타내는 다중 문자 시퀀스를 지정하는 LegacyInputIterator
타입 요구사항
-
InputIt LegacyInputIterator 요구사항을 충족해야 함.
-
InputIt 의 값 타입은 인코딩된 문자 타입 중 하나여야 함 ( char , wchar_t , char16_t char32_t ).

반환값

* this

예외

기본 OS API 오류 시 filesystem_error 를 throw할 수 있으며, 메모리 할당 실패 시 std:: bad_alloc 를 throw할 수 있습니다.

예제

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    fs::path p1 = "C:";
    p1 /= "Users"; // 구분자를 삽입하지 않음
                   // "C:Users"는 Windows에서 상대 경로임
                   // 디렉토리 구분자를 추가하면 절대 경로로 변환됨
    std::cout << "\"C:\" / \"Users\" == " << p1 << '\n';
    p1 /= "batman"; // fs::path::preferred_separator를 삽입, Windows에서는 '\'
    std::cout << "\"C:\" / \"Users\" / \"batman\" == " << p1 << '\n';
}

가능한 출력:

"C:" / "Users" == "C:Users"
"C:" / "Users" / "batman" == "C:Users\batman"

참고 항목

디렉토리 구분자를 추가하지 않고 두 경로를 연결합니다
(public member function)
디렉토리 구분자와 함께 두 경로를 연결합니다
(function)