- 论坛徽章:
- 0
|
本帖最后由 aldslvda 于 2013-09-13 11:17 编辑
读取“/etc”目录下所有的目录结构,并依字母顺序排列。
#include<dirent.h>
考虑以下语句:
scandir("/etc",&namelist,0,alphasort);
程序段:
while(n--)
{
printf("%s\n", namelist[n]->d_name);
free(namelist[n]);
}
lz写这个之后为什么会提示
- #include<stdio.h>
- #include<sys/types.h>
- #include<dirent.h>
- #include<unistd.h>
- #include<string.h>
- #include<stdlib.h>
- int main()
- {
- DIR * dir;
- struct dirent * ptr;
- int n=0;
- char *namelist[1000];
- dir=opendir("/etc");
- printf("/etc目录中文件或子目录有:\n");
- while((ptr= readdir(dir))!= NULL)
- if(*(ptr->d_name)!='.')
- {
- namelist[n]=ptr->d_name;
- n++;
- }
- scandir("/ect",&namelist,0,alphasort);
- while (n--);
- {
- printf("%s\n",namelist[n]->d_name);
- free(namelist[n]);
- }
- closedir(dir);
- return 0;
- }
复制代码 上面是lz自己写的代码 各位大大帮忙看看有什么错误吧
|
|