Linux:struct dirent
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相关推荐
- linux系统的4个部分,以下是Linux文件系统的4个相关的结构定义中的一部分: Struct i..._考试资料网...
问答题为了实现文件的共享,办法之一是把文件目录分成基本文件目录和符号文件目录.现设目录文件存放在磁盘上,盘块长度为1024B,每个文件说明占48B.其中,文件符号名占6B,内部标识符ID占2B,请回答 ...
- linux查询引脚功能复用,Linux:使用pinctrl子系统动态切换复用pin脚的功能
Linux:使用pinctrl子系统动态切换复用pin脚的功能 Linux:使用pinctrl子系统动态切换复用pin脚的功能 Linux:使用pinctrl子系统动态切换复用pin脚的功能 一.许多 ...
- 关于readdir返回值中struct dirent.d_type的取值有关问题(转)
关于readdir返回值中struct dirent.d_type的取值问题 原网页链接 http://www.gnu.org/software/libc/manual/html_node/Direc ...
- linux调用v4l2获取视频,嵌入式Linux:V4L2视频采集操作流程和接口说明
一般操作流程(视频设备): 1. 打开设备文件. int fd=open("/dev/video0",O_RDWR); 2. 取得设备的capability,看看设备具有什么功能, ...
- Linux:生成core的几种方式
Linux:生成core的几种方式 1.总结 在某些情况下,进程会生成core文件(核心转储),记录进程状态,帮助我们快速定位异常. 例如: 当进程异常时如段错误退出,可以分析结果core,查看调用栈 ...
- APUE编程:134---进程间通信(命名域套接字:struct sockaddr_un)
一.域套接字地址(struct sockaddr_un) 域套接字是在同一计算机的不同进程中进行通信,但是不采用IP地址和端口进行通信.内核提供了此结构体,用于为域套接字绑定文件名来绑定地址,从而实现 ...
- Linux下的dirent.h在windows下的替换
一.问题背景 dirent.h是一个用于操作文件系统目录的接口文件,里面有目录相关的读取函数.但dirent.h是linux系统下的文件,在windows下不能直接应用,因为windows下的MSVC ...
- Linux : select()详解 和 实现原理【转】
(转自:https://blog.csdn.net/huntinux/article/details/39289317) (原文:http://blog.csdn.net/boboiask/artic ...
- Linux:简单信号编程记录
Linux:简单信号编程记录 重要信号相关函数 可重入与不可重入函数 信号掩码 信号集 重要信号相关函数 信号发送函数 kill 可打断sleep函数,处理信号函数之后直接执行不再睡眠 killpg ...
- Linux:公司这么多项目,怎么管
在Linux下面,对二进制程序有着严格的格式要求,这就是ELF,这个格式可以根据编译的结果不同,分为不同的格式. ELF的三种类型 一:可重定位文件 在编译的时候,先做预处理工作,例如将头文件嵌入到正 ...
最新文章
- 策略模式和工厂模式的区别_java设计模式之状态模式,策略模式孪生兄弟
- 收藏!5V转3.3V电平的19种方法技巧
- python交互式编程客户端_【python】UDP网络编程:实现服务端与客户端的交互、简单的AI智能模式...
- 服务器水冷冷却系统设计,从三方面设计高效的数据中心冷却系统
- HTTP协议和NDS服务器
- 家谱等人物关系图的绘制
- Vuex actions 异步操作基础
- lasso模型可以用spss_互助问答第65期: 静态面板模型可以用GMM估计吗?
- 基于C++的模板引擎
- ERP系统多少钱一套?不同情况详情分析告诉你!
- 进销存货物管理系统 论文
- ⭐❤️sqlite数据库使用大全❤️⭐
- iOS-ERROR ITMS-90096
- IT公司盈利模式分析
- 大数据处理过程之核心技术ETL详解
- 大数据和java的区别
- 云服务器、虚拟主机、VPS的区别与差异(超详细解说)
- GNU和GPL是什么
- 岁月划过生命线(我的2013-大二.上)
- C语言-报数出圈问题(链表实现)