当前位置: 首页 > news >正文

Linux系统编程——目录操作函数

Linux系统编程——目录操作函数

opendir函数

DIR* opendir(const char* name);

所需头文件:dirent.h、 sys/types.h
功能:打开目录
name:目录名
返回值:成功返回目录指针,失败返回NULL并设置errno。

closedir函数

int closedir(DIR* dirp);

所需头文件:dirent.h、sys/types.h
功能:关闭目录
dirp:目录的指针
返回值:成功返回0,失败返回-1并设置errno。

readdir函数

struct dirent* readdir(DIR* dirp);

所需头文件:dirent.h
功能:读取目录下的文件
dirp:目录指针
返回值:成功返回dirent结构体指针,失败到了目录结尾返回NULL并设置errno。

dirent结构体

struct dirent {ino_t	d_ino; //该目录对应的文件/目录的inode编号off_t	d_off; //当前目录项在流中的偏移量unsigned short d_reclen; //当前目录项记录的长度(字节数)unsigned char d_type; //文件类型---但并不支持所有文件系统DT_BLK 块设备文件DT_CHR 字符设备文件DT_DIR 目录DT_FIFO 命名管道(FIFO)DT_LNK 符号链接DT_REG 普通文件DT_SOCK 套接字文件char d_name[256];  //文件名
};

示例:实现ls命令

代码:

#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>int main(int argc, char** argv)
{DIR* dir;struct dirent* entry;int count;if (argc != 2) {fprintf(stderr, "Usage: %s <dirname>\n", argv[0]);return 1;}if (NULL == (dir = opendir(argv[1]))) {perror("opendir error");return 1;}while(NULL != (entry = readdir(dir))) {++count;printf("%s\t", entry->d_name);if(count % 10 == 0)printf("\n");}printf("\n");closedir(dir);return 0;
}

执行结果:
在这里插入图片描述

http://www.dtcms.com/a/545209.html

相关文章:

  • MitoSOX Red 别名:Mitochondrial Superoxide Indicator; 红色线粒体超氧化物荧光探针
  • 深圳做网站做得比较好的公司struts2 做的网站
  • Reflex:用纯Python写交互式Web应用,从0到1构建你的第一个UI
  • 怎么查找网站是谁做的钢材网站模板
  • 打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第十天)
  • oto电子商务网站建设网站建设的公司上海
  • 【数据结构】链式结构二叉树详解
  • Flutter兼容性问题:Could not get unknown property ‘flutter‘ for extension ‘android‘
  • 【Linux系统编程】自动化构建-make/Makefile
  • php网站打开慢青海高端网站建设
  • 仓颉TreeMap红黑树结构深度解析
  • React中Suspense的分包实践
  • 垃圾收集器
  • CSharp UI更新及跨线程更新总结
  • 两个域名同一个网站做优化淘宝优惠网站怎么做
  • 深入仓颉UI:事件处理的声明式哲学与高阶实践
  • Actix Web 入门与实战
  • 外贸soho建站云南省建设厅网站二建
  • 20251029在AIO-3576Q38开发板的Android14下使用iperf3测试WIFI模块AP6256的网速【87.8 Mbits/sec】
  • 怎么用dede建设网站网站建设开放的端口
  • 基本select语句
  • linux命令-系统信息与监控-2
  • 【Ubuntu】安装amd驱动及ROCM后,系统起不来的问题分析及解决方案
  • 外国网站后台设计iis网页提示网站建设中
  • 镇江网站建设多少钱北京seo网站优化公司
  • 【第一章】金融数据的获取——金融量化学习入门笔记
  • MoonBit Pearls Vol.13:使用 MoonBit 开发一个 HTTP 文件服务器
  • 网站建设如何描述htm网站制作
  • SAP PP模块中流程制造
  • 网站攻击企业做营销型网站