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