vi /usr/include/dirent.h

部分内容:

/* This file defines `struct dirent'.It defines the macro `_DIRENT_HAVE_D_NAMLEN' iff there is a `d_namlen'member that gives the length of `d_name'.It defines the macro `_DIRENT_HAVE_D_RECLEN' iff there is a `d_reclen'member that gives the size of the entire directory entry.It defines the macro `_DIRENT_HAVE_D_OFF' iff there is a `d_off'member that gives the file offset of the next directory entry.It defines the macro `_DIRENT_HAVE_D_TYPE' iff there is a `d_type'member that gives the type of the file.*/
vi /usr/include/bits/dirent.h

部分内容:

struct dirent{
#ifndef __USE_FILE_OFFSET64__ino_t d_ino;__off_t d_off;
#else__ino64_t d_ino;__off64_t d_off;
#endifunsigned short int d_reclen;unsigned char d_type;char d_name[256];           /* We must not include limits.h! */};

获取文件大小函数:

/* 获取文件大小 */
unsigned long get_file_size(const char *path)
{unsigned long filesize = -1;struct stat statbuff;if(stat(path, &statbuff) < 0){return filesize;}else{filesize = statbuff.st_size;}return filesize;
}

目录下文件名称:

/* 文件描述符 */
struct dirent *dirp;
DIR *dp;char *path = "/home/test/";
/* 打开目录 */
if ((dp = opendir(path))== NULL){printf("opendir error \n");//打开目录失败return -1;}/* 列出该目录下所有文件*/
while(dirp = readdir(dp)){/* 文件名称 */printf("dirp->d_name : %s \n", dirp->d_name);}

参考连接:
https://www.cnblogs.com/hnrainll/archive/2011/08/23/2150607.html

https://blog.csdn.net/gdujian0119/article/details/6363574

Linux:struct dirent相关推荐

  1. linux系统的4个部分,以下是Linux文件系统的4个相关的结构定义中的一部分: Struct i..._考试资料网...

    问答题为了实现文件的共享,办法之一是把文件目录分成基本文件目录和符号文件目录.现设目录文件存放在磁盘上,盘块长度为1024B,每个文件说明占48B.其中,文件符号名占6B,内部标识符ID占2B,请回答 ...

  2. linux查询引脚功能复用,Linux:使用pinctrl子系统动态切换复用pin脚的功能

    Linux:使用pinctrl子系统动态切换复用pin脚的功能 Linux:使用pinctrl子系统动态切换复用pin脚的功能 Linux:使用pinctrl子系统动态切换复用pin脚的功能 一.许多 ...

  3. 关于readdir返回值中struct dirent.d_type的取值有关问题(转)

    关于readdir返回值中struct dirent.d_type的取值问题 原网页链接 http://www.gnu.org/software/libc/manual/html_node/Direc ...

  4. linux调用v4l2获取视频,嵌入式Linux:V4L2视频采集操作流程和接口说明

    一般操作流程(视频设备): 1. 打开设备文件. int fd=open("/dev/video0",O_RDWR); 2. 取得设备的capability,看看设备具有什么功能, ...

  5. Linux:生成core的几种方式

    Linux:生成core的几种方式 1.总结 在某些情况下,进程会生成core文件(核心转储),记录进程状态,帮助我们快速定位异常. 例如: 当进程异常时如段错误退出,可以分析结果core,查看调用栈 ...

  6. APUE编程:134---进程间通信(命名域套接字:struct sockaddr_un)

    一.域套接字地址(struct sockaddr_un) 域套接字是在同一计算机的不同进程中进行通信,但是不采用IP地址和端口进行通信.内核提供了此结构体,用于为域套接字绑定文件名来绑定地址,从而实现 ...

  7. Linux下的dirent.h在windows下的替换

    一.问题背景 dirent.h是一个用于操作文件系统目录的接口文件,里面有目录相关的读取函数.但dirent.h是linux系统下的文件,在windows下不能直接应用,因为windows下的MSVC ...

  8. Linux : select()详解 和 实现原理【转】

    (转自:https://blog.csdn.net/huntinux/article/details/39289317) (原文:http://blog.csdn.net/boboiask/artic ...

  9. Linux:简单信号编程记录

    Linux:简单信号编程记录 重要信号相关函数 可重入与不可重入函数 信号掩码 信号集 重要信号相关函数 信号发送函数 kill 可打断sleep函数,处理信号函数之后直接执行不再睡眠 killpg ...

  10. Linux:公司这么多项目,怎么管

    在Linux下面,对二进制程序有着严格的格式要求,这就是ELF,这个格式可以根据编译的结果不同,分为不同的格式. ELF的三种类型 一:可重定位文件 在编译的时候,先做预处理工作,例如将头文件嵌入到正 ...

最新文章

  1. 策略模式和工厂模式的区别_java设计模式之状态模式,策略模式孪生兄弟
  2. 收藏!5V转3.3V电平的19种方法技巧
  3. python交互式编程客户端_【python】UDP网络编程:实现服务端与客户端的交互、简单的AI智能模式...
  4. 服务器水冷冷却系统设计,从三方面设计高效的数据中心冷却系统
  5. HTTP协议和NDS服务器
  6. 家谱等人物关系图的绘制
  7. Vuex actions 异步操作基础
  8. lasso模型可以用spss_互助问答第65期: 静态面板模型可以用GMM估计吗?
  9. 基于C++的模板引擎
  10. ERP系统多少钱一套?不同情况详情分析告诉你!
  11. 进销存货物管理系统 论文
  12. ⭐❤️sqlite数据库使用大全❤️⭐
  13. iOS-ERROR ITMS-90096
  14. IT公司盈利模式分析
  15. 大数据处理过程之核心技术ETL详解
  16. 大数据和java的区别
  17. 云服务器、虚拟主机、VPS的区别与差异(超详细解说)
  18. GNU和GPL是什么
  19. 岁月划过生命线(我的2013-大二.上)
  20. C语言-报数出圈问题(链表实现)

热门文章

  1. Matlab fftshift and ifftshift and some confusions
  2. python高斯滤波和降噪_高斯滤波器和高斯滤波器中sigma与带宽的关系
  3. 【2020-09-22】某药品信息APP抓包
  4. CCNA考试题库中英文翻译版及答案12
  5. UBNT设置AP模式注意事项
  6. 图解PROFINET——PROFINET IO设备类型
  7. RIP/EIGRP/OSPF/ISIS使用的端口号/协议号
  8. 罗技Logitech Options下载地址
  9. HTML5 canvas元素绘制花朵等
  10. pdf去除密码 html,pdf密码移除工具