我有一个程序可以打印我从中获得的当前目录
How to get the current directory in a C program?
效果很好。
但是,如何为链接目录执行此操作?
比如我需要
/home/user/Directory
而不是链接目录
/mnt/data/user/Directory
也就是说,
lrwxrwxrwx 1 user user 23 Apr 2 2015 Directory -> /mnt/data/user/Directory//
相对于
drwxrwxrwx 1 user user 23 Apr 2 2015 Directory
我正在尝试扩展我的 C 技能,也许我缺少某些东西?
我想我现在明白了。如我错了请纠正我。你已经通过 cd 到 /home/user/Directory
进入了这个目录。在那里,你运行你的程序,getcwd
返回/mnt/data/user/Directory
,但你想要的是/home/user/Directory
。是吗?如果是这样,系统不知道您是通过符号链接(symbolic link)到达该目录的,因此它无法为您提供 /home/user/Directory
。但是,大多数 shell 将 PWD
环境变量设置为当前目录,具体取决于您要进入的目录,因此 PWD
很可能包含 /home/user/Directory
cd 到该目录后。我不确定这对您的情况是否有帮助。
我是一名优秀的程序员,十分优秀!