谁能给小弟仔细讲下这个程序

ftway 2003-08-20 02:05:59
#include <stdio.h>
#include <dirent.h>

static int
one (struct dirent *unused)
{
return 1;
}

int
main (void)
{
struct dirent **eps;
int n;

n = scandir ("./", &eps, one, alphasort);
if (n >= 0)
{
int cnt;
for (cnt = 0; cnt < n; ++cnt)
puts (eps[cnt]->d_name);
}
else
perror ("Couldn't open the directory");

return 0;
}
...全文
18 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
henangzt 2003-08-21
  • 打赏
  • 举报
回复
在linux下看下联机手册 man scandir,应该比较清楚。
XSY_VC 2003-08-21
  • 打赏
  • 举报
回复
one = 可能事比较目录 结构中的一个变量, 传一个指向函数的指针,比较
for(; dentry!=null; dentry =dentry->next) {
if ((*p)(dentry))
}
ftway 2003-08-21
  • 打赏
  • 举报
回复
那one (struct dirent *unused)
{
return 1;
}
这个函数是干什么的?
不太明白了
XSY_VC 2003-08-20
  • 打赏
  • 举报
回复
struct dirent ** eps 可以想做是没有初始化的指针数组
比如 eps = (struct dirent**)(malloc(n*sizeof(struct dirent*));
现在初始化了
dirent = 目录结构
scandir 就是扫描 /目录
找到又多少目录 并把每个代表目录的dirent 结构的指针返回给 eps
d_name 是目录名



23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧