每天一个了linux库函数——opendir()

来源:互联网 发布:emule端口测试失败 编辑:程序博客网 时间:2024/05/21 11:01
相关函数:open, readdir, closedir, rewinddir, seekdir, telldir, scandir

头文件:#include <sys/types.h>   #include <dirent.h>

定义函数:DIR * opendir(const char * name);

函数说明:opendir()用来打开参数name 指定的目录, 并返回DIR*形态的目录流, 和open()类似, 接下来对目录的读取和搜索都要使用此返回值.

返回值:成功则返回DIR* 型态的目录流, 打开失败则返回NULL.

错误代码:
1、EACCESS 权限不足。
2、EMFILE 已达到进程可同时打开的文件数上限。
3、ENFILE 已达到系统可同时打开的文件数上限。
4、ENOTDIR 参数name 非真正的目录。
5、ENOENT 参数name 指定的目录不存在, 或是参数name 为一空字符串。

6、ENOMEM 核心内存不足。


Linux C语言中的opendir头文件  #include<sys/types.h>   #include<dirent.h>

函数原型  DIR* opendir (const char * path );

功能  打开一个目录,在失败的时候返回一个空的指针。   
       使用实例:   

#include <stdio.h>   #include <dirent.h>   int main(void)   {           DIR *dirptr = NULL;           struct dirent *entry;           if((dirptr = opendir(argv[1])) == NULL)           {                   printf{\"open dir !\"};                   return 1;           }           else           {                  while (entry = readdir(dirptr))                  {                          printf(\"%s\\n\", entry);                  }                  closedir(dirptr);           }   return 0;   }


0 0
原创粉丝点击