#include <ftw.h>
#include <stdio.h>
int wrapper(const char * fpath, const struct stat *sb, int typeflag, struct FTW *ftwbuf) {
printf("File %d\n", ftwbuf->base);
return(0);
}
int main(int argc, char ** argv) {
const char *name;
int flags = 0;
name = argv[1];
nftw(name, wrapper, 20, flags);
return 0;
}
下的一些文件當我編譯器(gcc -o kconfig_parser.c解析器)警告,我有這個警告,這個錯誤..
kconfig_parser.c:5: warning: ‘struct FTW’ declared inside parameter list
kconfig_parser.c:5: warning: its scope is only this definition or declaration, which is probably not what you want
kconfig_parser.c: In function ‘wrapper’:
kconfig_parser.c:6: error: dereferencing pointer to incomplete type
我檢查的結構和回調的原型的定義,以及一些例子,應該沒事......我在做什麼錯? (我刪除了幾乎所有的代碼清除它)...
謝謝
其實,我聯繫到SUSv2規範應該如何nftw工作(我把這種更新到SUSv3鏈接)。在符合SUSv2或SUSv3的系統上,您不應該需要#define,但看起來您可能在Linux上需要它。 – 2009-04-23 16:16:55