【发布时间】:2016-04-15 16:50:29
【问题描述】:
之前有人问过这个问题,但几乎所有答案都归结为realpath 函数。这不适用于不存在的路径。我需要一个解决方案,我想调用 POSIX 或 OS X 框架函数,而不是手动解析字符串。
重申一下:我需要一个函数,它采用任意路径字符串并返回没有“./”或“..”元素的等效路径。
有这样的解决方案吗?
【问题讨论】:
-
您应该更详细地说明您真正想做的事情,并给出几个示例(包括路径中引用的目录不存在的一些示例)
-
@BasileStarynkevitch:在我看来,我已经非常清楚地解释了我想要做什么。需要澄清什么?
-
你如何处理
/tmp/someinexistentdirectory/foobar和/tmp/someinexistentdirectory/../foobar?我对你的问题投了反对票,因为你没有告诉怎么做。 -
@BasileStarynkevitch:我看不出该路径有什么需要做的,就这样就可以了。
-
公平地期望这个功能会出现在标准库中,这个问题不会赢得反对票。路径是一种符号方案,与 inode 或实现可以施加的任何约束无关当将路径输入它时。老实说,这是一个特殊的 POSIX 限制,而不是在案子周围扬起灰尘,让人们和你自己感到困惑。
标签: c++ objective-c macos path relative-path