Namespaces
Variants

std::experimental::filesystem:: path

From cppreference.net
헤더 파일에 정의됨 <experimental/filesystem>
class path ;
(filesystem TS)

path 타입의 객체는 파일 시스템 상의 경로를 나타냅니다. 경로의 구문적 측면만 처리됩니다: 경로명은 존재하지 않는 경로나 현재 파일 시스템 또는 운영체제에서 존재할 수 없는 경로를 나타낼 수도 있습니다.

경로 이름은 다음과 같은 구문을 가집니다:

  1. root-name (선택 사항) : 다중 루트를 갖는 파일 시스템에서 루트를 식별합니다 (예: "C:" 또는 "//myserver" ). POSIX 파일 시스템은 단일 루트를 갖습니다.
  2. root-directory (선택 사항) : 디렉토리 구분자로, 존재할 경우 이 경로를 절대 경로 로 표시합니다. 누락된 경우 (그리고 루트 이름 외 첫 번째 요소가 파일 이름인 경우), 경로는 상대 경로 이며 파일 이름으로 해석되기 위해 시작 위치로 다른 경로가 필요합니다.
  3. 다음 중 0개 이상:
  • file-name : 디렉토리 구분자나 선호하는 디렉토리 구분자가 아닌 문자들의 시퀀스 (운영체제나 파일 시스템에 의해 추가 제한이 적용될 수 있음). 이 이름은 파일, 하드 링크, 심볼릭 링크, 또는 디렉토리를 식별할 수 있습니다. 두 가지 특별한 file-name 이 인식됩니다:
  • dot : 단일 점 문자로 구성된 파일 이름 . 은 현재 디렉토리를 참조하는 디렉토리 이름입니다.
  • dot-dot : 두 개의 점 문자로 구성된 파일 이름 .. 은 상위 디렉토리를 참조하는 디렉토리 이름입니다.
  • directory-separator s: 슬래시 문자 / 또는 path::preferred_separator 로 제공되는 대체 문자. 이 문자가 반복되면 단일 디렉토리 구분자로 처리됩니다: / usr ///////lib / usr / lib 와 동일합니다.

경로는 begin() end() 함수가 반환하는 반복자를 통해 요소 단위로 순회할 수 있으며, 이는 루트 이름, 루트 디렉터리 및 후속 파일 이름 요소들을 순회합니다(루트 디렉터리를 식별하는 구분자를 제외한 디렉터리 구분자는 건너뜁니다). 경로의 가장 마지막 요소가 디렉터리 구분자인 경우, 마지막 반복자는 파일 이름 dot 을 역참조합니다.

path 객체의 비상수 멤버 함수를 호출하면 해당 객체의 요소를 참조하는 모든 반복자가 무효화됩니다.

운영체제가 위에서 설명한 이식 가능한 일반 구문과 다른 네이티브 구문을 사용하는 경우, 모든 라이브러리 함수는 두 형식의 경로 이름을 모두 수용합니다.

경로는 std::basic_string 과 암시적으로 변환 가능하며, 이를 통해 다른 파일 API와 함께 사용할 수 있습니다. 예를 들어 std::ifstream::open 의 인수로 사용할 수 있습니다.

목차

멤버 타입

유형 정의
value_type 파일 시스템의 기본 인코딩에서 사용하는 문자 유형: char (POSIX), wchar_t (Windows)
string_type std:: basic_string < value_type >
const_iterator path value_type 을 갖는 상수 LegacyBidirectionalIterator
iterator const_iterator 의 별칭

멤버 상수

constexpr value_type preferred_separator
[static]
이식 가능한 / 에 추가적으로 사용될 수 있는 대체 디렉토리 구분자. Windows에서는 백슬래시 문자 \ 입니다. POSIX에서는 이식 가능한 구분자와 동일한 슬래시 / 입니다.
(public static member constant)

멤버 함수

path 를 생성합니다
(public member function)
path 객체를 파괴합니다
(public member function)
다른 경로를 할당함
(public member function)
내용을 할당합니다
(public member function)
연결(Concatenation)
경로에 요소들을 추가함
(public member function)
디렉터리 구분자를 도입하지 않고 두 경로를 연결합니다
(public member function)
수정자
내용을 지움
(public member function)
디렉토리 구분자를 선호하는 디렉토리 구분자로 변환
(public member function)
파일명 경로 구성 요소 제거
(public member function)
마지막 경로 구성 요소를 다른 경로로 대체합니다
(public member function)
확장자를 교체합니다
(public member function)
두 경로를 교환합니다
(public member function)
포맷 옵저버
경로의 네이티브 버전을 반환합니다
(public member function)
네이티브 경로명 형식으로 변환된 문자열로 경로를 반환합니다
(public member function)
일반 경로명 형식으로 변환된 경로를 문자열로 반환합니다
(public member function)
비교
두 경로의 어휘적 표현을 사전식으로 비교합니다
(public member function)
분해
경로의 루트 이름을 반환합니다(존재하는 경우)
(public member function)
경로에 루트 디렉터리가 존재하는 경우 이를 반환합니다
(public member function)
경로의 루트 경로를 반환합니다(존재하는 경우)
(public member function)
루트 경로에 대한 상대 경로를 반환합니다
(public member function)
상위 경로의 경로를 반환합니다
(public member function)
파일명 경로 구성 요소를 반환합니다
(public member function)
경로의 스템(stem) 구성 요소를 반환합니다
(public member function)
파일 확장자 경로 구성 요소를 반환합니다
(public member function)
쿼리
경로가 비어 있는지 확인합니다
(public member function)
해당 경로 구성 요소가 비어 있지 않은지 확인합니다
(public member function)
파일 시스템 위치를 고유하게 식별하는지 root_path() 확인합니다
(public member function)
반복자
경로를 요소들의 시퀀스로 접근하기 위한 반복자
(public member function)

비멤버 함수

두 경로를 교환
(함수)
두 경로를 사전식으로 비교
(함수)
디렉토리 구분자로 두 경로를 연결
(함수)
경로에 대한 스트림 입출력 수행
(함수)
UTF-8 인코딩된 소스로부터 path 생성
(함수)