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

目录的读取与访问

文章目录

  • 打开目录
  • 关闭目录
  • 访问目录
  • 例程:获取文件夹的内容

打开目录

  • 头文件:
    • #include <dirent.h>
  • 函数原型:
    • DIR * opendir(const char *name);
    • DIR * fdopendir(int fd);//使用文件描述符,要配合open函数使用
  • 返回值:
    • 成功时返回目录流指针,出错时返回NULL

DIR是用来描述一个打开的目录文件的结构体类型,typedef重命名而来的类型名

  • vim /usr/include/dirent.h
  • 在C语言的标准库中,DIR 类型被用于表示一个目录流。它通常定义在 <dirent.h> 头文件中,并用于目录的遍历操作。DIR 类型可能是一个不完整类型(incomplete type),这意味着它的具体实现细节在<dirent.h> 头文件中并没有完全展开,而只是声明了它的存在,这样的设计允许库的实现者在不暴露内部数据结构的情况下提供接口

关闭目录

  • 头文件:
    • #include <dirent.h>
  • 函数原型:
    • int closedir(DIR * dirp);
  • 返回值:
    • 成功时返回0,出错时返回EOF

访问目录

  • 头文件:
    • #include <dirent.h>
  • 函数原型:
    • struct dirent * readdir(DIR * dirp);
  • 参数
    • 目录流指针DIR * dirp
  • 返回值:
    • struct dirent 描述目录流中一个目录项的结构体类型
    • 成功时返回目录流dirp中一个目录项
    • 出错或到末尾时返回NULL

struct dirent 和 DIR 是两个不同的结构体

例程:获取文件夹的内容

  • 打印指定的目录下的文件的名称
#include<stdio.h>#include<dirent.h>intmain(intargc,char*argv[]){DIR*dirp;structdirent*dp;if(argc<2){printf("Usage : %s <directory>\n",argv[0]);return-1;}if((dirp=opendir(argv[1]))==NULL){perror("opendir");return-1;}while((dp=readdir(dirp))!=NULL){if(dp->d_type==DT_DIR){printf("dirent file: %s\n",dp->d_name);}elseif(dp->d_type==DT_REG){printf("regular file: %s\n",dp->d_name);}else{printf("%s\n",dp->d_name);}}closedir(dirp);return0;}
http://www.jsqmd.com/news/150321/

相关文章:

  • Day41 Dataset和Dataloader
  • 过量化导致精度下降?TensorRT补偿机制揭秘
  • 计算机Java毕设实战-基于JAVA的医院预约挂号管理系统的设计与实现基于Web的医院门诊在线预约挂号系统设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 智慧交通信号灯调控:城市大脑背后的推理引擎
  • springboot_ssm“云课堂”在线教育系统的设计与开发
  • 2025最新!9个AI论文工具测评:继续教育者必看的科研写作指南
  • 前端新人必看:IIFE到底解决了什么问题?(附实战技巧)
  • springboot_ssm“在云端”--在线音乐分享平台的设计与实现
  • 【毕业设计】基于JAVA的医院预约挂号管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 模型压缩终极形态:TensorRT + 知识蒸馏联合优化
  • 稀疏+量化双管齐下:极限压缩大模型体积
  • 2025最新!专科生必看9款AI论文工具测评与推荐
  • 横向对比测试:TensorRT vs OpenVINO vs TFLite
  • GitHub项目托管:公开示例代码促进传播
  • 黑客松比赛赞助:激发基于TensorRT的创新应用
  • 4次拷贝变0次:我用现代C++撸了个生产级零拷贝缓存
  • 2025年共创广告工厂标识系统深度解析:6S车间可视化、户外市政标识一体化解决方案权威推荐 - 品牌企业推荐师(官方)
  • 学校启用AIGC检测后,这十大降AI工具最稳
  • 2025年退火处理厂家权威推荐:南通汉科新能源领衔,五大退火工艺(完全/球化/去应力等)核心技术实力深度解析 - 品牌企业推荐师(官方)
  • SpringBoot-day01 学习心得
  • 十佳降AI工具实测,知网AIGC检测也能过
  • 冷启动问题解决:预加载TensorRT引擎提升首响速度
  • SpringBoot-day01-学习心得
  • 稀疏化支持进展:TensorRT如何利用结构化剪枝
  • Java计算机毕设之基于Springboot+Vue的电子商务订单管理系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 论文降AI率工具排行榜:2025十佳推荐
  • 【毕业设计】基于springboot的校园二手交易平台(源码+文档+远程调试,全bao定制等)
  • Flask2入门开发详解
  • springboot_ssm“小饰界”线上饰品商城的设计与实现
  • 【效率工具】告别重复劳动!我开发了一个批量新建文件/文件夹工具