Namespaces
Variants

std::experimental::filesystem::path:: path

From cppreference.net
path ( ) ;
(1) (filesystem TS)
path ( const path & p ) ;
(2) (filesystem TS)
path ( path && p ) ;
(3) (filesystem TS)
template < class Source >
path ( const Source & source ) ;
(4) (filesystem TS)
template < class InputIt >
path ( InputIt first, InputIt last ) ;
(5) (filesystem TS)
template < class Source >
path ( const Source & source, const std:: locale & loc ) ;
(6) (filesystem TS)
template < class InputIt >
path ( InputIt first, InputIt last, const std:: locale & loc ) ;
(7) (filesystem TS)

새로운 path 객체를 생성합니다.

1) 빈 경로를 생성합니다.
2) 복사 생성자. p 의 복사본을 생성합니다.
3) 이동 생성자. p 의 복사본을 생성하며, p 는 유효하지만 지정되지 않은 상태로 남습니다.
4,5) 문자 시퀀스로부터 경로를 생성합니다. source (4) 가 제공하는 문자 시퀀스는 널 종료 문자/와이드 문자 시퀀스에 대한 포인터나 입력 반복자이거나 std::basic_string 이거나, 입력 반복자 쌍 [ first , last )으로 표현됩니다 (5) . char , char16_t , char32_t , wchar_t 네 가지 문자 타입 중 어느 것이든 허용되며, 기본 문자 집합으로의 변환 방법은 source 에서 사용된 문자 타입에 따라 달라집니다.
  • 소스 문자 타입이 char 인 경우, 소스의 인코딩은 기본 네로우 인코딩으로 가정됩니다 (따라서 POSIX 시스템에서는 변환이 발생하지 않습니다).
  • 소스 문자 타입이 char16_t 인 경우, UTF-16에서 기본 파일 시스템 인코딩으로의 변환이 사용됩니다.
  • 소스 문자 타입이 char32_t 인 경우, UTF-32에서 기본 파일 시스템 인코딩으로의 변환이 사용됩니다.
  • 소스 문자 타입이 wchar_t 인 경우, 입력이 기본 와이드 인코딩으로 가정됩니다 (따라서 Windows에서는 변환이 발생하지 않습니다).
6,7) source (6) 에서 제공하는 문자 시퀀스로부터 경로를 생성합니다. source 는 널 종료 문자 시퀀스에 대한 포인터 또는 입력 반복자이거나 std::string 이거나, 입력 반복자 쌍 [ first , last )으로 표현됩니다 (7) . 허용되는 유일한 문자 타입은 char 입니다. 문자 인코딩 변환을 수행하기 위해 loc 을 사용합니다. 만약 value_type wchar_t 라면, loc std:: codecvt < wchar_t , char , std:: mbstate_t > 패싯을 사용하여 와이드 문자로 변환합니다. 그렇지 않으면, 먼저 std:: codecvt < wchar_t , char , std:: mbstate_t > 패싯을 사용하여 와이드 문자로 변환한 다음, loc std:: codecvt < wchar_t , value_type > 패싯을 사용하여 파일시스템 네이티브 문자 타입으로 변환합니다.

목차

매개변수

p - 복사할 경로
source - std::basic_string , 널 종료 문자열에 대한 포인터, 또는 널 종료 문자 시퀀스를 가리키는 문자 값 타입을 가진 입력 반복자 (문자 타입은 오버로드 (6) 에서 char 이어야 함)
first, last - UTF-8 인코딩된 문자 시퀀스를 지정하는 LegacyInputIterator s
loc - 사용할 인코딩 변환을 정의하는 로케일
타입 요구사항
-
InputIt LegacyInputIterator 요구사항을 충족해야 함.
-
InputIt 의 값 타입은 오버로드 (5) 를 사용하기 위해 char , wchar_t , char16_t char32_t 네 가지 문자 타입 중 하나여야 함.
-
InputIt 의 값 타입은 오버로드 (7) 를 사용하기 위해 char 이어야 함.

예외

1,2) (없음)
3)
noexcept 명세:
noexcept
4-7) (없음)

참고 사항

유니코드 문자열에서 이식 가능한 경로명 생성을 위해서는 u8path 를 참조하십시오.

예제

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    fs::path p1 = "/usr/lib/sendmail.cf"; // 이식 가능한 형식
    fs::path p2 = "C:\\users\\abcdef\\AppData\\Local\\Temp\\"; // 네이티브 형식
    fs::path p3 = L"D:/猫.txt"; // 와이드 문자열
    std::cout << "p1 = " << p1 << '\n'
              << "p2 = " << p2 << '\n'
              << "p3 = " << p3 << '\n';
}

출력:

p1 = "/usr/lib/sendmail.cf"
p2 = "C:\users\abcdef\AppData\Local\Temp\"
p3 = "D:/猫.txt"

참고 항목

UTF-8 인코딩된 소스로부터 path 를 생성합니다
(함수)