Tag: scandir

scandir的隐含声明; alphasort未声明

我正在尝试使用scandir打印当前目录中的文件列表。 当我尝试编译时,我收到以下错误和警告: warning: implicit declaration of function ‘scandir’ [-Wimplicit-function-declaration] error: ‘alphasort’ undeclared (first use in this function) note: each undeclared identifier is reported only once for each function it appears in 我包括 ,据我所知,应该定义scandir()和所有相关的函数。 我在代码中看不到任何错误: #include … int printFiles(){ struct dirent **nameList; int numOfFiles = scandir(“.”, &nameList, 0, alphasort); //TODO print file names return numOfFiles; } […]

如何在scandir中参数化select函数

scandir()函数扫描目录dir,在每个目录条目上调用select()为“int(* filter)(const struct dirent *)”如何将模式值作为参数传递给fnmatch(const char * pattern,const char * string,int flags)filter中使用的函数? 这是我的示例代码 int my_selectgrf(const struct dirent *namelist) { int r = 0; char my_pattern[] = “*.grf”; r = fnmatch(my_pattern, namelist->d_name, FNM_PERIOD); return (r==0)?1:0; } scandir(“/pub/data/grf”, &namelist, my_selectgrf, alphasort); 我的目标是能够使用my_pattern作为输入参数。