• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C语言编程中对目录进行基本的打开关闭和读取操作详解

C语言编程中对目录进行基本的打开关闭和读取操作详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了linux中c语言编程,c语言中报数游戏编程,c语言编程入门教程,c语言编程,c语言编程软件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

C语言opendir()函数:打开目录函数
头文件:

#include <sys/types.h>  #include <dirent.h>
</div>

定义函数:

DIR * opendir(const char * name);
</div>

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

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

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

C语言closedir()函数:关闭目录
头文件:

#include <sys/types.h>  #include <dirent.h>
</div>

定义函数:

int closedir(DIR *dir);
</div>

函数说明:closedir()关闭参数dir 所指的目录流。

返回值:关闭成功则返回0,,失败返回-1,,错误原因存于errno 中。

错误代码:EBADF 参数dir 为无效的目录流。

范例:参考readir()。

C语言readdir()函数:读取目录函数
头文件:

 #include <sys/types.h>  #include <dirent.h>
</div>

定义函数:

struct dirent * readdir(DIR * dir);
</div>

函数说明:readdir()返回参数dir 目录流的下个目录进入点。结构dirent 定义如下:

struct dirent
{
  ino_t d_ino; //d_ino 此目录进入点的inode
  ff_t d_off; //d_off 目录文件开头至此目录进入点的位移
  signed short int d_reclen; //d_reclen _name 的长度, 不包含NULL 字符
  unsigned char d_type; //d_type d_name 所指的文件类型 d_name 文件名
  har d_name[256];
};
</div>

返回值:成功则返回下个目录进入点. 有错误发生或读取到目录文件尾则返回NULL.

附加说明:EBADF 参数dir 为无效的目录流。

范例

#include <sys/types.h>
#include <dirent.h>
#include <unistd.h>
main()
{
  DIR * dir;
  struct dirent * ptr;
  int i;
  dir = opendir("/etc/rc.d");
  while((ptr = readdir(dir)) != NULL)
  {
    printf("d_name : %s\n", ptr->d_name);
  }
  closedir(dir);
}
</div>

执行:

d_name : .
d_name : ..
d_name : init.d
d_name : rc0.d
d_name : rc1.d
d_name : rc2.d
d_name : rc3.d
d_name : rc4.d
d_name : rc5.d
d_name : rc6.d
d_name : rc
d_name : rc.local
d_name : rc.sysinit
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C语言编程中实现二分查找的简单入门实例
  • C语言编程中生成随机数的入门教程
  • C语言编程中统计输入的行数以及单词个数的方法
  • C语言编程中借助pthreads库进行多线程编程的示例
  • C语言编程中对目录进行基本的打开关闭和读取操作详解
  • C语言编程中从密码文件获取数据的函数总结
  • C语言编程中分配内存空间的相关函数
  • C语言编程中建立和解除内存映射的方法

相关文章

  • 2017-05-28VC实现动态菜单的创建方法
  • 2017-05-28关于大小端、位域的一些概念详解
  • 2017-05-28举例剖析C++中引用的本质及引用作函数参数的使用
  • 2017-05-28标准CSV格式的介绍和分析以及解析算法实例详解
  • 2017-05-28c++重载的详细总结
  • 2017-05-28详解C语言中accept()函数和shutdown()函数的使用
  • 2017-05-28浅谈C#中List<T>对象的深度拷贝问题
  • 2017-05-28C++实现获取IP、子网掩码、网关、DNS等本机网络参数的方法
  • 2017-05-28基于c++中的默认拷贝函数的使用详解
  • 2017-05-28c++面试题字符串拷贝函数示例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C++ 将数据转为字符串的几种方法
    • C/C++编译器GCC下的常用编译命令总结
    • 数据结构 哈希表设计
    • C++设计模式之解释器模式
    • 关于C++使用指针 堆和栈的区别分析
    • C++ 创建桌面快捷方式 开始菜单的实现代码
    • C++编程中的格式化输出详解
    • STL list链表的用法详细解析
    • 深入学习C语言中的函数指针和左右法则
    • DSP中浮点转定点运算--举例及编程中的心得

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有