为ftw的指针函数添加参数

时间:2011-11-03 18:34:43

标签: c

我正在做一个递归步行,并找到帮助我的ftw。

我的程序必须单步执行目录并查找文件。对于每个文件,它必须填充FILEMATCH结构。为此,buildFileMatch函数接受char * filename和char * term。 ftw指向的函数只能采用其默认参数

(const char *name, const struct stat *status, int type)

但我需要传递一个术语。

我还需要编辑其范围之外的变量。

使用静态局部变量会有帮助吗?

1 个答案:

答案 0 :(得分:0)

除非您可以在传递给ftw()的函数中执行您需要执行的所有操作(因此不需要有关其他位置的匹配的信息),否则您将需要使用全局变量。使用静态局部变量将允许您在匹配之间保留信息,但仍然不允许您从回调函数外部访问它 - 要么设置在编译时未知的初始值,要么在{之后获取值{1}}返回。