scandir() 的第四个参数如何工作?
How does the 4th argument of scandir() work?
scandir()
的定义如下所示:
int scandir(const char *dirp, struct dirent ***namelist,
int (*filter)(const struct dirent *),
int (*compar)(const struct dirent **, const struct dirent **));
什么是compar
?我通过那里的回调有什么区别?手册页似乎没有说什么。在那里传递 NULL 安全吗?有人可以向我解释第四个参数的目的和用法吗?我已经做了我的研究,但没有找到任何有用的信息所以,好吧,我在这里。
它确定项目列出的顺序,与 qsort
类似。传递 NULL 是未定义的行为。感谢评论。
scandir()
的定义如下所示:
int scandir(const char *dirp, struct dirent ***namelist,
int (*filter)(const struct dirent *),
int (*compar)(const struct dirent **, const struct dirent **));
什么是compar
?我通过那里的回调有什么区别?手册页似乎没有说什么。在那里传递 NULL 安全吗?有人可以向我解释第四个参数的目的和用法吗?我已经做了我的研究,但没有找到任何有用的信息所以,好吧,我在这里。
它确定项目列出的顺序,与 qsort
类似。传递 NULL 是未定义的行为。感谢评论。