当前位置: 技术问答>linux和unix
在linux实现在任意给定的目录查找文需要的件的程序? 下面的实现思路可不可以呢????
来源: 互联网 发布时间:2015-11-11
本文导语: 用目录遍历函数: int ftw(const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag), int depth); 在函数 int fn(const char *file ,const struct stat *sb,int flag) 实现查找文件, 然后找到了文...
用目录遍历函数: int ftw(const char *dir, int (*fn)(const char *file, const struct stat
*sb, int flag), int depth);
在函数 int fn(const char *file ,const struct stat *sb,int flag) 实现查找文件, 然后找到了文件, 打开所找到的文件,然后return返回文件描述符, 此时ftw遍历也停止,并且返回找到的文件描述符(也即是fn返回的文件描述符), 但是有一个问题就是怎么把你所需要查找的文件名和目录传递给 函数 fn()呢?? 我开始是想通过main()主函数里面传递给fn的,但是函数fn 是必须先定义好的,此时如果用main函数传参数,会出现没有定义的错误!
该怎么解决呢?
还有什么比较好的办法可以实现文件查找的??
*sb, int flag), int depth);
在函数 int fn(const char *file ,const struct stat *sb,int flag) 实现查找文件, 然后找到了文件, 打开所找到的文件,然后return返回文件描述符, 此时ftw遍历也停止,并且返回找到的文件描述符(也即是fn返回的文件描述符), 但是有一个问题就是怎么把你所需要查找的文件名和目录传递给 函数 fn()呢?? 我开始是想通过main()主函数里面传递给fn的,但是函数fn 是必须先定义好的,此时如果用main函数传参数,会出现没有定义的错误!
该怎么解决呢?
还有什么比较好的办法可以实现文件查找的??
|
用全局变量传递。
可以用opendir、readdir自己遍历。
可以用opendir、readdir自己遍历。
|
不要用全局变量的,该怎么组织比较的好呢?