<dirent.h>是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数、readdir函数。
opendir函数:
DIR *opendir(const char *pathname);返回值:若成功则返回指针,若出错则返回NULL。
struct dirent *readdir(DIR *dp); 返回值:若成功则返回指针,若在目录结尾或出错则返回NULL。
命令
列出一个目录下所有文件的名字,简要实现unix下ls命令
#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; }