0

无论如何,C程序是否可以查看某个目录中的文件并与它们交互?例如,假设我通过 system() 函数使用 wget 下载了一个文件,我想查看该文件的名称。我有什么方法可以仅通过标准 C 库或 POSIX 库来实现吗?

4

1 回答 1

1

这会在目录中查找不到 5 秒前修改过的文件 - 没有错误检查。

#include <stdlib.h>
#include <stdio.h>
#include <sys/stat.h>
#include <time.h>
#include <dirent.h>

void dirchk(const char *arg)  // arg=name of directory
{
    time_t when = time(NULL) -5; // 5 secs ago
    struct stat st;
    DIR *dirp=opendir(arg);
    struct dirent *d=readdir(dirp);
    while (d != NULL)
    {
        if ((d = readdir(dirp)) != NULL) 
        {
            stat(d->d_name, &st);
            if( when - st.st_mtime  <=5 )
               printf("%s\n", d->d_name);
        }
    } 
    closedir(dirp);
    return;
}

int main()
{
   dirchk(".");
   return 0;
}

“。” 是当前工作目录。

于 2013-09-22T00:25:15.750 回答