dirent.h


是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX 系统服务的函数原型,例如opendir函数、readdir函数.
中文名
dirent.h
属    性
目录操作的头文件
包    含
UNIX 系统服务的函数原型
例    如
opendir函数

目录

  1. 1定义
  2. 2命令

定义

编辑
#include <dirent.h>
是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;
}

你可能感兴趣的:(dirent.h)