C 如果文件数大于10,则计算文件夹中的txt文件数和最旧文件数?

C 如果文件数大于10,则计算文件夹中的txt文件数和最旧文件数?,c,file-io,directory,C,File Io,Directory,我正在使用下面的程序获取文件夹中的文件数。 如果文件数大于10,我想从文件夹中删除最旧的文件 #include<dirent.h> int file_count = 0 DIR * dirp; struct dirent * entry; dirp = opendir("path"); while ((entry = readdir(dirp)) != NULL) { if (entry->d_name!=NULL) { file_count++;

我正在使用下面的程序获取文件夹中的文件数。
如果文件数大于10,我想从文件夹中删除最旧的文件

#include<dirent.h>

int file_count = 0

DIR * dirp;

struct dirent * entry;

dirp = opendir("path");

while ((entry = readdir(dirp)) != NULL) {

    if (entry->d_name!=NULL) {

    file_count++;

   }

}


closedir(dirp);

printf("%d", file_count-2);

return 0;
}
#包括
int file_count=0
DIR*dirp;
结构方向*条目;
dirp=opendir(“路径”);
while((entry=readdir(dirp))!=NULL){
如果(输入->d_名称!=NULL){
文件计数++;
}
}
closedir(dirp);
printf(“%d”,文件计数-2);
返回0;
}

我可以教你怎么做。编写代码后,回答您自己的问题

  • 使用Scandir()函数计算目录中的文件数

  • 写入
    system(cd/path/to/your/dir/&&ls-t>res.txt)
    它将使用上次修改时间对所有文件进行排序。您还可以按创建日期进行排序

  • 然后从跳过11个文件的文件中逐个读取文件名,其中一个将成为您的res.txt,并将其存储在
    string name=“filename”

  • 声明一个字符串,如
    string cmd=“rm-f”

  • 将文件名附加到
    strcat(cmd,name)使用

  • 编写
    系统(cmd)

  • 从文件读取到步骤4,它应该在while循环中,条件应该是
    while(!EOF)