使用C语言获取文件夹里最后一个文件
时间: 2023-06-01 13:04:00 浏览: 291
以下是使用C语言获取文件夹里最后一个文件的代码示例:
```c
#include <stdio.h>
#include <dirent.h>
#include <sys/stat.h>
#include <string.h>
int main() {
DIR *dir;
struct dirent *ent;
struct stat st;
char path[1000];
char last_file[256];
time_t last_time = 0;
// 设置文件夹路径
strcpy(path, "./folder");
if ((dir = opendir(path)) != NULL) {
// 遍历文件夹中的所有文件
while ((ent = readdir(dir)) != NULL) {
char file_path[1000];
sprintf(file_path, "%s/%s", path, ent->d_name);
// 获取文件信息
if (stat(file_path, &st) != -1) {
// 判断是否为文件
if (S_ISREG(st.st_mode)) {
// 判断是否为最新文件
if (st.st_mtime > last_time) {
strcpy(last_file, ent->d_name);
last_time = st.st_mtime;
}
}
}
}
closedir(dir);
printf("最新文件:%s\n", last_file);
}
else {
perror("文件夹打开失败");
return 1;
}
return 0;
}
```
在此示例中,我们使用`opendir`函数打开文件夹并使用`readdir`函数遍历所有文件。然后,我们使用`stat`函数获取每个文件的信息,并使用`S_ISREG`宏来检查文件是否为常规文件。最后,我们比较文件的修改时间,以找到最新的文件。
阅读全文