linux中DIR、dirent、opendir()、readdir()、closedir()函数的使用

一、

1、DIR

属性:数据类型;

头文件:#include <dirent.h>

用法:定义一个指向文件目录的指针;

举例:DIR *dirpt =null;

2、dirent

属性:数据类型,结构体;

头文件:#include <dirent.h>

用法:定义一个用于获取某文件夹目录内容,所使用的结构体;

举例:struct dirent *entry;

3、DIR *opendir(const char *name)

属性:函数;

头文件:#include <dirent.h>

用法:此函数打开一个与目录名name相对应的目录流,如果成功,返回指向这个目录流的指针,并且指向的是这个目录流中第一个目录项;如果失败,返回NULL;

参数:目录;

举例: DIR *dirpt;

             dirpt = opendir("/home/fun");

4、struct  dirent *readdir(DIR *dir);

属性:函数;

头文件:#include <dirent.h>

用法:返回指向dirent的结构体,这个结构体代表了由dir指向的目录流中的下一个目录项,如果读到end-of-fiie或者出现错误,则返回NULL;

参数:打开的目录流指针。

dirent结构体如下:

             struct dirent { 
             ino_t          d_ino;       /* inode number */ 
             off_t          d_off;       /* offset to the next dirent */ 
             unsigned short d_reclen;    /* length of this record */ 
             unsigned char  d_type;      /* type of file */ 
             char           d_name[256]; /* filename */ 
         };

举例:

   DIR *dirpt = opendir("/home/fun");

   struct dirent *entry;

   while(entyr=readdir(dirpt))

{

}

5、int  closedir(DIR *dir);

属性:函数;

头文件:#include <dirent.h>

用法:关闭目录流dir,成功,返回0,失败返回NULL;

举例:DIR *dirpt=opendir("/home/fun");

           closedir(dirpt);

********************华丽的分割线**********************

这是鄙人的理解,如果哪里不正确,欢迎指正,谢谢



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BNUOJ 4358 左手定则 搜索

题目链接&#xff1a;http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid4358 一道很好的搜索题&#xff0c;要注意DFS函数的写法&#xff0c;特别是return的写法。 View Code 1 #include <iostream>2 #include <cstring>3 #include <cstdio>4 using names…

CentOS安装Confluence Wiki步骤

参考&#xff1a;http://supernetwork.blog.51cto.com/2304163/1187066参考&#xff1a;http://yjiang.tk/?p1085需要的文件CentOS-6.5-x86_64-minimal.isojre-7u67-linux-x64.rpmatlassian-confluence-5.4.4-x64.binmysql-connector-java-5.1.32-bin.jarconfluence5.1-crack.…

memset()、memcpy()、memcmp()的使用方法

1、void *memset(void *s,int ch,size_t n); 属性&#xff1a;函数&#xff1b; 用法&#xff1a;将s中当前位置后面n个字节用ch替换&#xff0c;并返回s&#xff1b; 头文件(C语言)&#xff1a;#include <string.h> 举例&#xff1a; char str_addr[50]; memset(str…

provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接错误的解决方法...

这个错误主要有以下几个原因造成&#xff1a; 1. 错误的连接字符串&#xff1a;例如数据源的实例名称“\"错误写成"/"了 2、Named Pipes(NP)没有启动 其他原因&#xff0c;详见&#xff1a;http://social.msdn.microsoft.com/forums/en-US/sqlreportingservices…

使用VS2015编写C/C++开始步骤

下面围绕如何建立工程、如何添加代码和运行展开说明。 一、建立工程 &#xff08;1&#xff09;打开VS2015&#xff0c;然后在菜单栏中选择file—>New—>Project&#xff1b; &#xff08;2&#xff09;在弹出的界面中&#xff0c;选择Win32&#xff0c;编辑工程名字、…

ruby中正则表达式最小匹配与最大匹配

正则表达式中&#xff0c;默认的是最大匹配&#xff0c;即贪婪模式&#xff0c;但有些时候&#xff0c;要最小匹配&#xff0c; 请看下面的例子&#xff1a;(ruby) str "abbbbbdwwdwwwede"puts str[/a.*(dw)/] 结果为&#xff1a;abbbbbdwwdw str "abbbbbdwwd…

sprintf()、fprintf()的使用方法

1、int sprintf(char *str,char *format,[forgument,..]); 属性&#xff1a;函数&#xff1b; 用法&#xff1a;将格式化的字符写入字符串&#xff1b; 头文件&#xff1a;#include <stdio.h> 参数&#xff1a;char *str:要写入字符串的指针&#xff1b; char *form…

界面小项目之小米登录注册

<!DOCTYPE html><html><head> <meta charset"UTF-8"> <title>登录注册</title> <style> body, ul { margin: 0; padding: 0; list-style: none; } .logi…

Crusher Django 学习笔记4 使用Model

http://crusher-milling.blogspot.com/2013/09/crusher-django-tutorial4-using-basic.html 顺便学习一下FQ Crusher Django转载于:https://www.cnblogs.com/impact-crusher/p/3339029.html

C库中的输入函数、输出函数

关于这些C库输入函数、输出函数的用法&#xff0c;可以在命令行输入“man 3 xxx”来查询。 一、printf()函数、scanf()函数 1、printf()函数 函数模型 int printf(const char *format, ...); 函数作用 把存储在计算机中的二进制格式的数值&#xff0c;按照转换说明&#xff0c…

【音乐】想不起来歌名的瞎唱

1、风吹稻&#xff08;盗&#xff09;花香~好地方~ 2、转载于:https://www.cnblogs.com/wxl845235800/p/11152088.html

PWM调光方法在LED亮度调节中的应用

LED 是一种固态电光源&#xff0c; 是一种半导体照明器件&#xff0c;其电学特性具有很强的离散性。它具有体积小、机械强度大、功耗低、寿命长&#xff0c; 便于调节控制及无污染等特征&#xff0c;有极大发展前景的新型光源产品。LED 调光方法的实现分为两种&#xff1a; 模拟…

redhat rpmforge epel 安装源配置

参考阅读 epel 直接安装 RPMforge for CentOS 6 The default RPMforge repository does not replace any CentOS base packages. In the past it used to, but those packages are now in a separate repository (rpmforge-extras) which is disabled by default. You can fi…

知方可补不足~SQL2005使用ROW_NUMBER() OVER()进行数据分页

回到目录 数据分页是这个经常说的东西&#xff0c;无论在WEBForm还是WinForm中它都会被单独拿出来&#xff0c;或者是公用组件&#xff0c;或者是公用类库&#xff0c;反正对于数据分页这个东西&#xff0c;总是我们关注的一个话题&#xff0c;但事实上&#xff0c;数据分页归…

main函数的参数

main函数可以带参数&#xff0c;这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个&#xff0c;习惯上这两个参数写为argc和argv。因此&#xff0c;main函数的函数头可写为&#xff1a; main (argc&#xff0c;argv)。C语言还规定argc(第一个形参)必须…

leetcood学习笔记-2-两数相加

题目描述&#xff1a; 方法一&#xff1a; # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val x # self.next Noneclass Solution:def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:cur…

AIX samba服务器配置

最简单的安装文件是。bff文件了&#xff0c;菜鸟的最爱。下载地址我找了很久&#xff0c;现在奉献出来&#xff1a;http://www.bullfreeware.com/一、下载samba-3.0.4.0.bff二、将文件放在AIX系统的临时安装目录下&#xff0c;如&#xff1a;/usr/samba三、 smit installp&…

Forward框架的逆袭:解析Forward+渲染

转载请注明出处为KlayGE游戏引擎&#xff0c;本文地址为http://www.klayge.org/2012/04/21/forward%e6%a1%86%e6%9e%b6%e7%9a%84%e9%80%86%e8%a2%ad%ef%bc%9a%e8%a7%a3%e6%9e%90forward%e6%b8%b2%e6%9f%93/ AMD在7900系列显卡发布的时候同时推出了Leo demo&#xff0c; 并说明它…

atoi()函数:将字符串转换成整型数

C语言有atoi、atol、atof等库函数&#xff0c;可分别把ASCII编码的字符串转化为int、long、float类型的数字。这里讲述atoi()函数的内容&#xff0c;另外两个类似。 函数原型 int atoi(const char* nptr); 函数功能 将字符串转换成整型数。 补充说明 atoi()函数会检查nptr所指向…

Java NIO学习系列三:Selector

前面的两篇文章中总结了Java NIO中的两大基础组件Buffer和Channel的相关知识点&#xff0c;在NIO中都是通过Channel和Buffer的协作来读写数据的&#xff0c;在这个基础上通过selector来协调多个channel以同时读写数据&#xff0c;本文我们就来学习一下selector。 Java NIO中引入…