2013-05-28 123 views
1

我需要在C++一個簡單的方法來解析該給了作爲一個通道,一個文件中的字符串(例如:「C:\根\ filename.extension」)C++解析文件路徑

什麼是最簡單的如何做到這一點?我已經看到了一些分割字符串的例子,但是我在這裏有幾個分隔符,不只是一種類型,(我有:\和。),所以我不知道它是如何工作的。

+0

還要考慮UIC路徑和多個擴展名:\ \一些-PC \某些股\一些-folder.dings \一些-file.extension1.extension2。也許你應該在\分裂,然後分裂。並分開處理第一個元素。 – urzeit

+1

正確分析路徑字符串的缺陷很多。如果你想要一些東西,你可以使用try [boost filesystem](http://www.boost.org/doc/libs/1_53_0/libs/filesystem/doc/index.htm)。如果你只是想學習嘗試... –

+1

是'boost :: filesystem :: path'的一個選項嗎? – billz

回答

1

如果目的是要實際處理文件系統,請使用_splitpath,_makepath及相關函數。創建支持您的用例的包裝類C++類並不困難。

如果只是字符串操作,你應該首先定義你的規則,因爲這些規則不能被推斷出來。即Win32的同時接受/和\作爲目錄分隔符,\是實際目錄元素,但在前綴顯著之間的冗餘等