2012-05-11 71 views
0

最後出現怎樣才能獲得類似的功能有增強發現使用升壓串

int idx = md.filepath.lastIndexOf('/');         
     md.title = md.filepath.right(md.filepath.length() - idx -1);    
     md.title = md.title.left(md.title.length() - 4);  

上面的代碼(基於Qt)發現沒有擴展名的文件,MD是一個對象,文件路徑,標題是即QString的名稱。我瀏覽過boost的字符串方法,如find_last,但它返回iterator_range。我是新的推動,提前感謝。

回答

3

如果你想要做的只是文件名解析,那麼你最好使用boost::filesystem::path類。特別是下列方法:

path filename() const;

path stem() const;

path extension() const;

的類提供的轉換和從std::stringstd::wstring

+0

感謝您的回覆。我一直在尋找一種方法來獲取文件名,而不需要擴展名。例如Filepath:/home/user/file.ext。我只想'文件'而不是'file.ext' –

+1

這就是'stem'函數爲您提供的。 – Nick

+0

謝謝了:) –