Namespaces
Variants

std::filesystem::path:: stem

From cppreference.net
path stem ( ) const ;
(C++17부터)

일반 형식 경로에서 확장자를 제거한 파일 이름을 반환합니다.

filename() 의 시작부터 마지막 마침표( . ) 문자 직전까지의 부분 문자열을 반환하며, 다음과 같은 예외가 적용됩니다:

  • 파일명의 첫 번째 문자가 마침표인 경우, 해당 마침표는 무시됩니다(예: ".profile"은 확장자로 처리되지 않습니다).
  • 파일명이 특수 파일시스템 구성요소인 dot 또는 dot-dot 이거나, 마침표가 없는 경우 함수는 전체 filename() 을 반환합니다.

목차

매개변수

(없음)

반환값

경로로 식별된 파일 이름의 스템(즉, 최종 확장자를 제외한 파일 이름).

예외

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

예제

#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;
int main()
{
    for (const fs::path p : {"/foo/bar.txt", "/foo/.bar", "foo.bar.baz.tar"})
        std::cout << "path: " << p << ", stem: " << p.stem() << '\n';
    std::cout << '\n';
    for (fs::path p = "foo.bar.baz.tar"; !p.extension().empty(); p = p.stem())
        std::cout << "path: " << p << ", extension: " << p.extension() << '\n';
}

출력:

path: "/foo/bar.txt", stem: "bar"
path: "/foo/.bar", stem: ".bar"
path: "foo.bar.baz.tar", stem: "foo.bar.baz"
path: "foo.bar.baz.tar", extension: ".tar"
path: "foo.bar.baz", extension: ".baz"
path: "foo.bar", extension: ".bar"

참고 항목

파일 이름 경로 구성 요소를 반환합니다
(public member function)
파일 확장자 경로 구성 요소를 반환합니다
(public member function)