【发布时间】:2016-12-31 20:28:11
【问题描述】:
假设我有
String t = "c:/foo/foo1/foo2/foo3/file.txt"
我要提取"foo3/file.txt"。
我该怎么做(使用 boost 或 std)?
到目前为止,这是我一直在尝试的:
boost::filesystem::path pathToObject(t);
使用pathToObject.filename()我当然可以提取文件名。我玩过t.find_last_of("/"),但我真的需要t.find_second_to_last_of("/")。
【问题讨论】:
-
你试过什么?你为什么不上Tour?
-
感谢您的回答和我的@joshj777。这是我最终使用的解决方案: std::string t = pathObject.parent_path().filename().string(); t.append("/"); t.append(pathObject.filename().string());
-
您应该接受以下答案之一。 (它可以是你自己的,但不是必须的。)
-
谢谢!赫尔曼!长期潜伏者和用户。期待更多参与。
-
一个没有接受答案的已解决问题会触发我的not-an-actual-OCD。那么,你能帮我解决这个问题吗?
标签: c++ boost std boost-filesystem