为了项目需要,需在软件增加插件功能。为了尽量减少主程序的改动(尽量不改动),需要动态扫描插件目录中的文件,以便自动增减插件,从而实现不同的功能。为了帮助读者理解下面的工作原理,先将一些预备知识:在Linux系统中,一切设备皆为文件!什么意思呢?就是说,在Linux系统中,不管文件系统中挂载了什么设备或是出现了什么目录,系统皆将它们看成文件。这有别于windows系统。因此,在Linux系统中实现上述操作,要远简单于windows系统。好了,知道这些就足够了:)现特地为读取目录中文件名信息进行了如下方式的解题:1、添加include语句:
#include <sys/types.h>
#include <dirent.h>
2、在源程序中声明以下变量:
声明结构体指针 struct dirent * ptr;
声明一个dir指针 DIR * fd;
必要的时候可以malloc或new.
3、使用opendir()函数打开目录文件
opendir()函数原型如下:
DIR *opendir(const char *name);
4、使用readdir()函数读取目录中文件内容
readdir()函数原型如下:
struct dirent *readdir(DIR *dir);
readdir()每次从目录文件中提取一个文件项目,指针前移。直至到文件末尾返回NULL值。ptr指针指向 readdir()返回的dirent 结构体,每次函数调用返回的结果不同 dirent中的成员内容不同,其中d_name成员的值为每次读取到的目录中的文件名称。详细信息,可参考下文的源程序。
Linux环境下提高网络传输性能方法简介Ubuntu 9.10用Prism将webQQ桌面化相关资讯 Linux知识
- 时光总是太匆匆!Linux已经诞生23 (08/29/2014 14:12:03)
- Linux虚拟文件系统之文件打开(sys (02/14/2012 11:41:54)
- 2012 年 Linux 峰会时间表 (02/14/2012 06:47:27)
| - 报告称当前 Linux 人才抢手 高薪也 (02/15/2012 06:35:56)
- 解析企业为何选择Linux及其特别之 (02/14/2012 08:17:59)
- Linux禁用字符闪烁的方法 (11/02/2011 10:28:25)
|
本文评论 查看全部评论 (0)