处理多个"。"的文件在文件名中boost :: filesystem :: stem

时间:2018-01-18 06:51:29

标签: c++ boost boost-filesystem

如果文件名是" abc.def.xyz",我如何获得" .def.xyz"作为扩展和" abc"作为干。我理解boost::filesystem::stem/extension()认为最合适的"。"作为文件名和扩展名之间的分隔符。我可以以某种方式将其改为最左边的"。" ?

相关问题,但寻找最合适的答案"。" boost filename extension with multiple "."

1 个答案:

答案 0 :(得分:0)

reference暗示事情如你所说 - 扩展总是定义为最右边的点和向前。您当然可以自己解析字符串,但如果您坚持使用Boost扩展,那么,只需获取词干+扩展名的扩展名:

path wierdExt = extension(stem(yourpath));
wierdExt += extension(yourpath);

当然,在扩展检索之前,更多的点是对词干的更多调用。但是也要考虑一个常规的字符串解析。