想fopen()目录中的最新文件
(使用命名方案file1.txt,file2.txt,file3.txt等)
Visual Studio中是否有API函数用于此?
如果没有,读取所有.txt文件名并排序以获得我需要的文件名是一个好主意吗?有没有更好的算法可以指出?
感谢。
答案 0 :(得分:1)
我将假设“最新”是指“最近修改过的文件”。
有一个C运行时库函数_fstat and _fstati64(对于大型文件> 4GB)。 _fstat的函数签名是:
int _fstat(int file_handle, struct _stat *file_info);
_stat结构有一些关于该文件的有用信息,但您可能想要st_mtime
成员,其最后修改时间为time_t
(自00:00开始的时间以秒为单位: 00 UTC,1970年1月1日)。
可以使用win32函数FindFirstFile() and FindNextFile()来遍历目录,将文件存储在结构数组中(包含文件名修改时间),然后在数组上调用qsort_s(),按时间排序,按降序排列。
我希望有所帮助。