gpt4 book ai didi

c - 使用 nftw 发出警告

转载 作者:IT王子 更新时间:2023-10-29 00:13:27 28 4
gpt4 key购买 nike

我正在尝试使用 nftw处理目录下的一些文件

#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 kconfig_parser.c -o parser) 时,我收到这个警告和这个错误..

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

我已经检查了结构体的定义和回调的原型(prototype),以及一些示例,应该没问题...我做错了什么? (我几乎删除了所有代码以清除它)...

谢谢

最佳答案

出于某种原因,Linux 仍将 SUSv1 用于此 API,其中 nftw() 仍被视为扩展。

来自 Linux manual page ,包含必须是:

#define _XOPEN_SOURCE 500
#include <ftw.h>

关于c - 使用 nftw 发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/782338/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com