我需要在目录中打印所有可能的文件属性,例如文件大小,类型等。下面的代码使用dirent结构,它没有所有文件信息,如文件大小。 d_type返回一些整数,但我可以找到一个图表来查找这些数字的含义。我正在打印inode和文件的名称。我可以使用inode通过c命令获取有关该文件的更多信息吗?
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/stat.h>
#include <errno.h>
int main(int ac, char *av[])
{
DIR *d;
struct dirent *dir;
d = opendir("/home/CS/user/unix/Project4/TestDirectory");
if (d) {
while ((dir = readdir(d)) != NULL) {
printf("Name: %s \n", dir->d_name);
printf("- Inode: %lu\n", dir->d_ino);
printf("- reclen: %u\n", dir->d_reclen);
printf("- type: %u\n", dir->d_type);
}
closedir(d);
}
return(0);
}