如何获取目录inode编号,例如/home/laks/file.txt
我需要laks目录的inode数量。任何内置功能已经可用吗?
我想如果我削减了文件名,我可以使用stat()...但是在不删除文件名的情况下,任何其他解决方案也可以。

最佳答案

#include <libgen.h>
#include <sys/stat.h>
...
struct stat statbuf;
if (stat(dirname(argv[1]), &statbuf) != -1)
    process_inode_number(statbuf.st_ino);

请注意,dirname()可能会修改字符串,因此,如果您仍然需要它,或者它可能是字符串文字(位于只读内存中),请使用strdup()dirname()创建字符串的副本。

09-12 06:00