确定文件所在目录的好方法是什么?我会使用 realpath(),但这会返回符号链接指向的文件或目录的绝对路径。
例如,如果参数是文件的基本名称,并且 lstat() 返回 0,我可以确认该文件存在。但是出于我正在处理的程序的目的,我需要确定该文件在哪个目录中。
该项目在 GH 上,所以如果它有助于回答问题,我不介意在此处发布代码。谢谢!
更新:这里有一些细节:代码在L64附近。如果文件、目录或符号链接在 .local/share/Trash.test/ files / 中,我需要在 .local/share/Trash.test/ info /.trashinfo 中找到对应的垃圾信息文件。通常我会在files/处截断返回值 realpath() ,然后附加 info/,然后附加 basename 和 .trashinfo ext。之后,它可以满足我的需要。但是当我尝试获取符号链接的真实路径时,会返回它的绝对路径,但它是符号链接指向的路径(例如/home/andy/temp/.local/share/Trash.test/files/dnsmasq
- >/usr/share/doc/dnsmasq