是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数、readdir函数.
例:
opendir函数:
DIR *opendir(const char *pathname);返回值:若成功则返回
指针,若出错则返回NULL。
struct dirent *readdir(DIR *dp); 返回值:若成功则返回指针,若在目录结尾或出错则返回NULL。
列出一个目录下所有文件的名字,简要实现unix下ls命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include<stdio.h>
#include<dirent.h>
int
main(
int
argc,
char
* agrv[]){
DIR* dp;
struct
dirent* dirp;
if
(argc!=2){
printf
(
"usage:lsdirectory_name\n"
);
//不返回的话,程序会执行出错
return
0;
}
if
((dp=opendir(agrv[1]))==NULL){
printf
(
"cannotopen%s"
,agrv[1]);
//不返回的话,程序会执行出错
return
0;
}
while
((dirp=readdir(dp))!=NULL){
printf
(
"%s\n"
,dirp->d_name);
}
closedir(dp);
//c语言以非0为真,所以程序执行成功的话返回1,执行失败返回0
return
1;
}
|