我正在做一个代码,它获取的文件夹中的文件夹的目录,然后它打印出所有的txt文件与创建/最后修改的月份相同。如何使用c中的目录打印修改月份相同的文件?
例如,如果用户键入'JANUARY',程序将打印出1月份创建/上次修改的所有文件的名称。
这是我的代码,但它不起作用。
DIR *da;
struct dirent *ep;
struct stat attrib;
da = opendir ("./");
if (da != NULL)
{
while (ep = readdir (da))
{
while ((ep = readdir (da)) != NULL)
{
const size_t len = strlen(ep->d_name);
if (len > 4 &&
ep->d_name[len - 4] == '.' &&
ep->d_name[len - 3] == 'T' &&
ep->d_name[len - 2] == 'X' &&
ep->d_name[len - 1] == 'T') {
stat(ep->d_name, &attrib);
strftime(month, MAX_SIZE, "%m", localtime(&(attrib.st_ctime)));
comp = strcmp(month,input);
if(comp == 0) {
printf ("%s\n", ep->d_name);
}
}
}
closedir (da);
}
}
编译所有警告和调试信息('gcc -Wall -Wextra -g')。然后**使用调试器**('gdb') –
您正在收到哪个错误? –
'(void)closedir(da);'中的'(void)'的_use_是什么? –