2013-05-28 88 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的同时接受/和\作为目录分隔符,\是实际目录元素,但在前缀显著之间的冗余等