LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1522|回复: 3

有关dirent结构的用法!

[复制链接]
发表于 2004-11-2 09:21:54 | 显示全部楼层 |阅读模式
请问我用
dp=opendir(pathname);
dirp=readdir(dp);
其中pathname是一个有子目录的目录
那我是否能用opendir(dirp->d_name);
发表于 2004-11-2 10:02:50 | 显示全部楼层
看看 opendir 的参数:
  1. DIR *opendir(const char *name);
复制代码
只要能够找到这个目录就可以了。
发表于 2004-11-2 11:17:46 | 显示全部楼层

判断一下是不是目录

DIR* p;
struct dirent* e;

...

e = readdir(p);

stat(e->d_name, &stat);

if(stat.st_mode & S_IFDIR)
{
    if(strcmp(e->d_name, ".") == 0 || strcmp(e->d_name, "..") == 0)
             ...
...}
发表于 2004-11-3 21:23:40 | 显示全部楼层
同上,在这之前验证一下readdir有没有读出东西

  1. (dirp=readdir(dp))!=NULL
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表