相关函数: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 为一空字符串。
头文件:#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版权协议,转载请附上原文出处链接和本声明。