c语言 读取txt文件夹下面的最新文件
时间: 2023-09-10 13:05:42 浏览: 178
要实现这个功能,需要先获取文件夹中所有文件的创建时间,然后比较它们的创建时间,找到最新的文件。
下面是一个简单的 C 代码示例,可以读取指定文件夹下的所有文件,找到最新的文件并输出它的名称:
```c
#include <stdio.h>
#include <string.h>
#include <dirent.h>
#include <sys/stat.h>
int main() {
char folder_path[100] = "path/to/folder"; // 文件夹路径
DIR *dir;
struct dirent *ent;
struct stat st;
time_t latest_create_time = 0;
char latest_file_name[100];
if ((dir = opendir(folder_path)) != NULL) {
while ((ent = readdir(dir)) != NULL) {
char file_path[100];
sprintf(file_path, "%s/%s", folder_path, ent->d_name);
if (stat(file_path, &st) == 0) {
time_t create_time = st.st_ctime;
if (create_time > latest_create_time) {
latest_create_time = create_time;
strcpy(latest_file_name, ent->d_name);
}
}
}
closedir(dir);
} else {
printf("Failed to open folder!");
return 1;
}
printf("The latest file in the folder is %s\n", latest_file_name);
return 0;
}
```
在代码中,我们使用了 `opendir()` 函数打开文件夹,然后使用 `readdir()` 函数遍历文件夹中的所有文件。对于每个文件,我们使用 `stat()` 函数获取它的属性信息,包括创建时间 `st_ctime`。然后,我们比较这些时间,找到最新的文件。
需要注意的是,上述代码只能在 Linux 或者类 Unix 系统中运行。如果要在 Windows 系统中运行,需要使用不同的文件路径表示方式,并且可能需要使用 `_stat()` 函数代替 `stat()` 函数。
阅读全文