std::experimental::filesystem::path:: append, std::experimental::filesystem::path:: operator/=
From cppreference.net
<
cpp
|
experimental
|
fs
|
path
|
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
요구사항을 충족해야 함.
|
||
|
-
|
||
반환값
* 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) |