千家信息网

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

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍C++中怎么遍历目录下的文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。先上代码:#include #include void print_dir(DIR *
千家信息网最后更新 2026年11月01日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安全错误 数据库的锁怎样保障安全 广州大一互联网络科技有限公司 南京欣网互联网科技 壕鑫互联网络科技 互联网女皇 腾讯科技 广州凡科互联网科技 长亮科技互联网金融 新华互联网科技校企合作 广州恒生互联网科技有限 互联网和黑科技的看法 重庆互联网医院沙龙医盟信息科技 苏州铭阳互联网科技有限公司 卓翼科技产业互联网合作 上海钢联属于互联网科技股吗 互联网科技资金流入 互联网科技数字货币 信承诺互联网科技有限公司 江苏互联网智能科技产品出厂价 平安好医生打造互联网科技医疗 重庆科技产业互联网有哪些 互联网科技自媒体灵感 嘟嘟瓜互联网科技 互联网科技公司官网 卓越科技(互联网 ) 融贸通互联网科技 深圳市运趣互联网科技有限公司 互联网之后的科技是什么 福州新华互联网科技学校 知乎 互联网新科技动漫ppt素材 南京一网一红互联网科技有限公司 互联网科技企业商标注意事项
0