我目前正在做一个项目,我需要从目录中的基本名称中找到最旧的文件。
例如,文件的基本名称可能是 mylog,但它需要查看所有文件,例如 mylog_060620121421.txt。从 mylog_ 的所有文件中,我需要找出最旧的文件,即首先创建的文件,但我找不到如何执行此操作。
我已经看到 scandir 命令列出文件名,但我看不到它如何用于查找文件的最早日期。
在linux上只需输入目录:
ls -trl
这给出了一个列表,从最旧的文件开始。如果你想要直接的名字,你可以得到它:
ls -tr | head - 1
使用 stat()
运行命令“man -S 2 stat”以了解更多信息。
#include <sys/stat.h> 结构统计结构统计; stat(文件名,&structstat) printf("最后修改时间:%s", ctime(&structstat.st_mtime));
其中文件名是字符串/字符 * 表示文件 structstat 是 stat 的结构,可以在 sys/stat.h 中找到
最旧的文件将是具有最旧修改时间的文件, structstat.st_mtime 除非您同时拥有两者,否则您可以使用 structstat.st_ctime (状态更改)作为类型断路器...