【发布时间】:2014-09-23 06:33:45
【问题描述】:
我想读取 C 目录中所有文件的统计信息。(linux:Fedora)
我已经声明了这个结构:
struct stat st = {0};
然后我检查目录是否存在。
if(stat("/home/gadre/Source",&st) == -1)
{
status = mkdir("/home/gadre/Source", 0777);
}
syslog(LOG_INFO, "Source Directory stage completed\n");
统计数据在哪里:
struct stat {
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode number */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device ID (if special file) */
off_t st_size; /* total size, in bytes */
blksize_t st_blksize; /* blocksize for file system I/O */
blkcnt_t st_blocks; /* number of 512B blocks allocated */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last status change */
};
现在,一旦我进入目录,我想检查最后修改时间 st_mtime 每个文件。
任何想法我应该使用什么数据结构...应该首先将 fd 存储在一个列表中,然后对其进行迭代检查...什么是有效的方法。
谢谢。
【问题讨论】:
标签: linux file-io timestamp stat