Namespaces
Variants

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

From cppreference.net
path extension ( ) const ;
(파일시스템 TS)

경로의 파일명 구성 요소의 확장자를 반환합니다 * this .

경로의 filename() 구성 요소에 마침표( . )가 포함되어 있고, 특수 파일시스템 요소인 dot 또는 dot-dot 이 아닌 경우, 확장자 는 가장 오른쪽 마침표(마침표 포함)부터 경로명의 끝까지의 부분 문자열입니다.

경로명이 . 또는 .. 이거나, filename() . 문자를 포함하지 않는 경우, 빈 경로가 반환됩니다.

파일 시스템이 확장자에 추가 요소(예: 대체 데이터 스트림 또는 분할 데이터셋 이름)를 추가하는 경우, 구현에서 추가 동작을 정의할 수 있습니다.

목차

매개변수

(없음)

반환값

현재 경로명의 확장자 또는 확장자가 없는 경우 빈 경로입니다.

예외

구현 정의 예외를 던질 수 있습니다.

참고 사항

이 함수가 반환하는 확장자는 마침표를 포함하므로, 마침표로 끝나는 파일(함수가 "." 을 반환함)과 확장자가 없는 파일(함수가 "" 을 반환함)을 구분할 수 있습니다.

모든 경로 p 에 대해, p. stem ( ) + p. extension ( ) == p. filename ( ) 입니다.

예제

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    std::cout << fs::path("/foo/bar.txt").extension() << '\n'
              << fs::path("/foo/bar.").extension() << '\n'
              << fs::path("/foo/bar").extension() << '\n'
              << fs::path("/foo/bar.txt/bar.cc").extension() << '\n'
              << fs::path("/foo/bar.txt/bar.").extension() << '\n'
              << fs::path("/foo/bar.txt/bar").extension() << '\n'
              << fs::path("/foo/.").extension() << '\n'
              << fs::path("/foo/..").extension() << '\n'
              << fs::path("/foo/.hidden").extension() << '\n';
}

출력:

".txt"
"."
""
".cc"
"."
""
""
""
".hidden"

참고 항목

파일명 경로 구성 요소를 반환합니다
(public member function)
스템 경로 구성 요소를 반환합니다
(public member function)
확장자를 교체합니다
(public member function)
해당 경로 요소가 비어 있지 않은지 확인합니다
(public member function)