我正在做一个递归步行,并找到帮助我的ftw。
我的程序必须单步执行目录并查找文件。对于每个文件,它必须填充FILEMATCH结构。为此,buildFileMatch函数接受char * filename和char * term。 ftw指向的函数只能采用其默认参数
(const char *name, const struct stat *status, int type)
但我需要传递一个术语。
我还需要编辑其范围之外的变量。
使用静态局部变量会有帮助吗?
答案 0 :(得分:0)
除非您可以在传递给ftw()
的函数中执行您需要执行的所有操作(因此不需要有关其他位置的匹配的信息),否则您将需要使用全局变量。使用静态局部变量将允许您在匹配之间保留信息,但仍然不允许您从回调函数外部访问它 - 要么设置在编译时未知的初始值,要么在{之后获取值{1}}返回。