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

相关函数: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;   
}



版权声明:本文为viewsky11原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。