FTW没有提供“最新”目录

时间:2017-11-16 12:09:58

标签: c posix traversal directory

我有以下C代码:

#include <ftw.h>

#define MAXPATHLEN 100

static time_t createtime = 0;
static char ftwpath[MAXPATHLEN];

[...]

ftw(somepath, get_writedir, 10);
if (ftwpath[0] == '\0') {
    //Code assuming that the directory does not exist.
} else {
    //Some code handeling 
}

这是ftw调用的方法:

int get_writedir(const char *path, const struct stat *sb, int typeflag)
{
    if (typeflag == FTW_D && sb->st_ctime > createtime) {
        createtime = sb->st_ctime;
        strlcpy(ftwpath, path, MAXPATHLEN);
    }
    return 0;
}

一般来说,当typeflag设置为FTW_F而不是FTW_D时,此代码会有所扩展。当我做后者时,没有任何反应。 当我执行上述操作时:我并不总是获得“最新创建的目录”。我在这里做错了什么?

0 个答案:

没有答案