千家信息网

C++中怎么遍历目录下的文件

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章给大家介绍C++中怎么遍历目录下的文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。先上代码:#include #include void print_dir(DIR *
千家信息网最后更新 2025年12月03日C++中怎么遍历目录下的文件

这篇文章给大家介绍C++中怎么遍历目录下的文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

先上代码:

#include

#include

void print_dir(DIR *dir) {

struct dirent *file;

// 遍历文件夹下的内容

while ((file = readdir(dir)) != NULL) {

printf("文件位置=%ld ", telldir(dir));

printf("子文件:%20s ", file->d_name);

printf("\n");

}

}

int main(int argc, const char * argv[]) {

const char *dirPATH = "/Users/ckend/Documents";

DIR *dir = opendir(dirPATH);

print_dir(dir);

return 0;

}

需要用到的头文件:"dirent.h"

需要用到的结构及函数:"struct dirent"

"readdir()"

"opendir()"

"telldir()"

一个个地来讲解:

  1. dirent.h, 包含了许多关于目录操作的函数或结构的头文件。

  2. readdir(),来自于dirent.h,在程序内的语句:

    while ((file = readdir(dir)) != NULL) {}

    其作用是返回指向文件夹内的文件的dirent结构指针,它会逐一进行检查,直到没有更多的文件而返回NULL为止。

  3. opendir(),同样来自于dirent.h,其用于打开某个文件夹路径,并返回这个文件夹的DIR*指针。

  4. telldir(), 也是来自于dirent.h,它可以获得当前指针位置,并返回这个位置。

  5. struct dirent, 这个结构也是来自于dirent.其内容如下(摘自参考文献):


  6. struct dirent {ino_t          d_ino;       /* 在文件系统中的inode number */off_t          d_seekoff;   /* 与文件夹流的位置指针操作相关 */unsigned short d_reclen;    /* 本记录的数据长度 */unsigned char  d_type;      /* 当前遍历子项的文件类型:文件、文件夹、link、socket等 */char           d_name[256]; /* 当前遍历子项的文件名 */};

关于C++中怎么遍历目录下的文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

文件 文件夹 位置 内容 指针 结构 目录 更多 C++ 函数 子项 参考 帮助 不错 上代 作用 兴趣 参考文献 小伙 小伙伴 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器跑程序和本地跑程序 徐州企业网络安全 河北唐山软件开发电脑学校 我身边的网络安全作文800 网络技术的应用题 信息技术数据库应用实例 合肥科睿软件开发有限公司 山西太原国企php软件开发 西门子PLC和国家网络安全 互联网科技公司简介范文 成都启辰网络安全 网络安全防护技术培训 sql数据库需要每天备份吗 美的科技互联网 广德常规软件开发服务厂家供应 人大金仓数据库实例存储路径 正定贝铀网络技术有限公司 塔科夫澳大利亚服务器英文 管理会计软件开发方面 邯郸市卫生系统人才数据库 云服务器数据删了怎么办 数据库连接池共享默认关闭 怎么引用其他js数据库 软件开发大专大专院校有哪些 数据库的组成核心是 多用户服务器原理 亚控软件开发用什么语言 mysql数据库删除主键 软件开发服务的进项从哪儿来 沈阳方林装修软件开发
0