在C/C++编程时,需要获取目录下面的文件列表信息。

1.数据结构

struct dirent
{
long d_ino;                 /* inode number 索引节点号 */
off_t d_off;                /* offset to this dirent 在目录文件中的偏移 */
unsigned short d_reclen;    /* length of this d_name 文件名长 */
unsigned char d_type;        /* the type of d_name 文件类型 */    
char d_name [NAME_MAX+1];   /* file name (null-terminated) 文件名,最长255字符 */
}
struct __dirstream
  {
    void *__fd;                        /* `struct hurd_fd' pointer for descriptor.  */
    char *__data;                /* Directory block.  */
    int __entry_data;                /* Entry number `__data' corresponds to.  */
    char *__ptr;                /* Current pointer into the block.  */
    int __entry_ptr;                /* Entry number `__ptr' corresponds to.  */
    size_t __allocation;        /* Space allocated for the block.  */
    size_t __size;                /* Total valid data in the block.  */
    __libc_lock_define (, __lock) /* Mutex lock for this structure.  */
  };

typedef struct __dirstream DIR;

2.程序示例
其中程序中win不支持文件类型(d_type),可以根据文件名称后缀来判断文件类型;linux可以直接使用d_type判断是目录还是文件。
#include <sys/types.h>
#include <dirent.h>
#include <unistd.h>
#include <stdio.h>int main(){DIR    *dir;struct    dirent    *ptr;dir = opendir("."); ///open the dirwhile((ptr = readdir(dir)) != NULL) ///read the list of this dir
    {#ifdef _WIN32printf("d_name: %s\n", ptr->d_name);#endif#ifdef __linuxprintf("d_type:%d d_name: %s\n", ptr->d_type,ptr->d_name);#endif}closedir(dir);return 0;
}

程序输出:

转载于:https://www.cnblogs.com/xudong-bupt/p/3566574.html

C/C++ 获取目录下的文件列表信息相关推荐

  1. 关于BaiduPCS-Go不能用问题解决,报错【获取目录下的文件列表 遇到错误, 远端服务器返回错误】

           BaiduPCS-Go不能使用报错:获取目录下的文件列表 遇到错误, 远端服务器返回错误, 代码: 4, 消息: No permissionto do this operation, 路 ...

  2. python获取文件夹下文件_Python 获取目录下的文件列表与内容

    下面的python例子是列举用户目录下面的文件 import os import sys #info=os.getcwd() #listfile=os.listdir(os.getcwd()) inf ...

  3. Python 获取目录下的文件列表,并自然排序

    在实际的算法与程序开发中,经常需要面对的场景就是对同一目录内的文件进行批量操作.并且很多时候目录中的文件明明是有规律的,同时希望程序在进行处理时也是按照一定的顺序进行. 方法 1 >>&g ...

  4. java获取文件目录列表_获取目录中的文件列表

    我正在开发一个C项目,我需要获取目录中的文件列表 . 我正在使用dirent.h但是在使用它时遇到了一些问题,我正在Linux下构建程序 . 当我尝试构建程序时,我收到以下错误 myClass:err ...

  5. php获取指定目录下所有文件列表,PHP 获取指定目录下所有文件(包含子目录)...

    set DestPath=.for /f "delims=" %%i in ('dir /ad /b ' ) do (copy %DestPath%\%%i\*.txt %Dest ...

  6. 如何使用C或C ++获取目录中的文件列表?

    如何从C或C ++代码内部确定目录中的文件列表? 我不允许执行ls命令并从程序中解析结果. #1楼 GNU手册FTW http://www.gnu.org/software/libc/manual/h ...

  7. java 递归获取目录下所有文件

    对于一个嵌套的目录,获取目录下所有的文件,可以使用一下两种方式: 1.递归方法: static List<String> ergodic(File file, List<String ...

  8. Golang获取目录下的文件及目录信息

    一.获取当前目录下的文件或目录信息(不包含多级子目录) func main() {pwd,_ := os.Getwd()//获取文件或目录相关信息fileInfoList,err := ioutil. ...

  9. C#获取目录下所有文件的列表——最白话,手把手教你做系列。

    最近,在试着做一个Unity自动生成Ui的功能. 理论比较简单,通过拼接字符串生成脚本,都是Ok的,但为了更方便,就想顺便把文件路径也自动生成一下.即获取某个目录下所有预制体的文件目录. 于是就需要一 ...

最新文章

  1. sqlserver中判断表是否存在
  2. jquery-validae
  3. arm linux 识别新硬盘_嵌入式Linux系列第13篇:USB摄像头拍照
  4. ArcEngine 没有Esri.ArcGis.GeoAnalyst 命名空间
  5. P4145-上帝造题的七分钟2/花神游历各国【并查集,树状数组】
  6. XML DOM Object Model in .NET [3/3] - Samples
  7. 一文入门Python 3
  8. SQL常用语句(普通查询+条件查询)
  9. 无需U盘在Windows下安装Linux系统实现双系统(非子系统)
  10. 基于单片机智能交通灯控制系统设计外文文献_【设计图文】单片机实现的步进电机控制系统(开题报告+论文+文献综述+外文翻译+DWG图纸)...
  11. 打开和切换文件的基础方法(DOS)命令
  12. HBase数据模型和表设计思路
  13. matlab多边形检测_matlab实现多边形顶点凹凸性的识别
  14. CO-PA: 获利能力分析数据的传送(日常业务)
  15. 伪标签Web2.0?
  16. 【Excel从头开始】-1 Excel基础设置
  17. 【MongoDB】从入门到精通mongdb系列学习宝典,想学mongodb小伙伴请进来
  18. io获取 pcl_PCL:点云常用操作
  19. php制作万年历的步骤_使用PHP制作一个万年历
  20. Excel如何避免输入重复值

热门文章

  1. Linux防火墙-SELinux、netfilter、iptables、ifconfig
  2. shiro 解决 跨域(仅端口不同) 登陆 问题
  3. Meteor框架创建示例项目todos的问题
  4. VS2012程序打包部署详解
  5. Oracle 使用DBMS_SCHEDULER创建定时任务
  6. Elasticsearch(二) ik分词器的安装 以及 自定义分词
  7. python中如何统计元组中元素的个数_python-无论元素顺序如何,获取列表中的元组数...
  8. golang nil切片与空切片
  9. thinkphp 多字段排序
  10. Redis RDB与AOF持久化详解