使用<filesystem>获取文件的基本名称

时间:2017-04-27 16:07:53

标签: c++

在路径如“C:/Dir/foo.txt”的情况下,文件的基本名称将为“foo”。我曾经能够这样做:

#include <filesystem>
using namespace std;
using namespace std::tr2::sys;
...
path p("C:/Dir/foo.txt");
auto base = p.basename();    // base will now be "foo"

这在我使用visual studio 2013时有效。现在在新版本(2015)中它将无法编译给我错误:

错误C2039'basename':不是'std :: experimental :: filesystem :: v1 :: path'的成员

什么是等效函数,或者在新编译器中执行我需要的方法?

2 个答案:

答案 0 :(得分:1)

这现在似乎被称为stem()

  

返回由其扩展名剥离的路径标识的文件名。

答案 1 :(得分:-1)

看起来您可能想要filename