我的任务是在 C 中使用 inode 实现 Unix 命令pwd
。我已经弄清楚如何递归返回,直到 '..' 的 inode 与 '.' 的 inode 相同。我现在遇到的问题是我不知道如何获取'..'的目录名称。使用 stat 结构,我可以获取有关文件的所有信息,例如大小、inode 等,但我需要获取文件,以便使其输出如下内容:
/home/GONZAGA/tcosentino/documents/OS
如何获取这些目录名称?
我有 stat 结构,所以到目前为止它可以打印出来:
[tcosentino@ada2 OS]$ ./a.out .
filename: .
device: 64768
inode: 55804237
protection: 40755
number of hard links: 5
user ID of owner: 81963576
group ID of owner: 501
device type (if inode device): 0
total size, in bytes: 4096
blocksize for filesystem I/O: 4096
number of blocks allocated: 8
time of last access: 1354817261 : Thu Dec 6 10:07:41 2012
time of last modification: 1354817249 : Thu Dec 6 10:07:29 2012
time of last change: 1354817249 : Thu Dec 6 10:07:29 2012