当前位置: 技术问答>linux和unix
scandir的问题
来源: 互联网 发布时间:2015-02-07
本文导语: 关于scandir的问题 查manual,scandir的用法是: int scandir(const char *dir, struct dirent ***namelist, int(*select)(const struct dirent *), int(*compar)(const struct dirent **, const struct dirent **)); 但是我的程序中老是说的scandir的第...
关于scandir的问题
查manual,scandir的用法是:
int scandir(const char *dir, struct dirent ***namelist,
int(*select)(const struct dirent *),
int(*compar)(const struct dirent **, const struct dirent **));
但是我的程序中老是说的scandir的第三个参数传递里不兼容的指针:
billing.c: In function `main':
billing.c:214: warning: passing arg 3 of `scandir' from incompatible pointer type
214行是这样的:
nFiles=scandir(pathbuf,&namelist,my_select,alphasort);
其中,第三个函数指针定义如下:
static int my_select(struct dirent *dp)
{
char buf[128];
if(strlen(dp->d_name)
查manual,scandir的用法是:
int scandir(const char *dir, struct dirent ***namelist,
int(*select)(const struct dirent *),
int(*compar)(const struct dirent **, const struct dirent **));
但是我的程序中老是说的scandir的第三个参数传递里不兼容的指针:
billing.c: In function `main':
billing.c:214: warning: passing arg 3 of `scandir' from incompatible pointer type
214行是这样的:
nFiles=scandir(pathbuf,&namelist,my_select,alphasort);
其中,第三个函数指针定义如下:
static int my_select(struct dirent *dp)
{
char buf[128];
if(strlen(dp->d_name)