如何得到按时间顺序的文件列表?

用OPENDIR()和READDIR()可以得到一个目录中所有文件的列表,我的问题是这个列表能按时间排序吗?其实我是要删除某个目录中时间最旧的N个文件,如果可以的话我就不用自己一个一个按时间比较了

readdir()只能得到文件名,不能得到“时间”。你要自己一个一个文件stat()才能拿到时间。所以你要自己排序。

那有别的方法吗?

没有。要就是 popen(“ls -t”) 了。

还有是具体“时间最旧的N个文件”是为了什么?通常象系统日志这样的,都是在文件名上花工夫。log.1, log.2, log.3 … 每次新开log,都把文件名改一下…