- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
确定文件所在目录的好方法是什么?我会使用 realpath(),但这会返回符号链接(symbolic link)指向的文件或目录的绝对路径。
例如,如果参数是文件的基名,并且 lstat() 返回 0,我可以确认该文件存在。但出于我正在开发的程序的目的,我需要确定该文件位于哪个目录。
该项目位于 GH 上,因此如果有助于回答问题,我不介意在这里发布代码。谢谢!
更新:以下是一些细节:代码接近L64 。如果文件、目录或符号链接(symbolic link)位于 .local/share/Trash.test/files/中,我需要在 .local/share/Trash.test/ 中找到相应的垃圾信息文件信息/.trashinfo。通常我会在 files/ 处截断返回值 realpath(),然后附加 info/,然后附加基本名称和 .trashinfo 扩展名。之后,它就满足了我的需要。但是当我尝试获取符号链接(symbolic link)的实际路径时,会返回它的绝对路径,但它是符号链接(symbolic link)指向的路径(例如 /home/andy/temp/.local/share/Trash.test/files/dnsmasq
-> /usr/share/doc/dnsmasq
最佳答案
不,realpath()
不会返回符号链接(symbolic link)指向的文件或目录的绝对路径。 realpath() 返回给定相对路径的现有文件的绝对路径,并且作为额外的好处,如果相对路径中涉及符号链接(symbolic link),则将解析符号链接(symbolic link)。
当前目录中的纯文件名也是相对路径。因此,realpath()
就是您需要的函数。
另外:为什么不在发布问题之前尝试一下呢?
关于C程序: determine which directory a file is in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39524417/
我是一名优秀的程序员,十分优秀!