#include <filesystem>
#include <iostream>
using namespace std;// 递归输出文件夹内容
void ls(filesystem::path d);int main() {filesystem::path path(filesystem::current_path());// // 或者用相对路径表示// filesystem::path path(".");// 输出绝对/相对路径cout << filesystem::absolute(path) << "\n";cout << filesystem::relative(path) << "\n";// 创建目录条目filesystem::directory_entry entry(path);// 输出目录信息// 输入`list -l`即可查看目录信息,比如drwxr-xr-xcout << "Is a directory? " << (entry.status().type() == filesystem::file_type::directory ? "yes" : "no") << "\n";cout << "Is a regular file? " << (entry.status().type() == filesystem::file_type::regular ? "yes" : "no") << "\n";cout << "Can owner write? " << ((bool)(entry.status().permissions() & filesystem::perms::owner_write) ? "yes" : "no") << "\n";// path类型支持的操作符`/`filesystem::path file(path / "filesystem.cpp");cout << file.filename() << " exists? " << (filesystem::exists(file) ? "yes" : "no") << "\n";// 遍历目录内容filesystem::directory_iterator iter(entry);for (auto item : iter) {if (filesystem::is_directory(item)) {cout << "[" << item.path().filename() << "]\n";} else {cout << item.path().filename() << " = ";     // 文件名cout << item.path().stem() << " + ";         // 文件根cout << item.path().extension() << "\n";    // 扩展名}}// 递归输出文件夹内容ls(entry.path().parent_path());
}// 递归输出文件夹内容
void ls(filesystem::path d) {if (!filesystem::is_directory(d)) {cerr << "Argument is not a directory\n";return;}filesystem::directory_iterator iter(d);for (auto item : iter) {cout << item.path() << "\n";if (filesystem::is_directory(item)) {ls(item);}}
}

C++ filesystem 文件系统初体验相关推荐

  1. ipfs星际文件系统初体验

    ipfs是InterPlanetary File System的简称,即星际文件系统,他不同于一般的操作系统文件系统,也不同于分布式文件系统,因为分布式文件系统最终访问文件还是采用的http协议,而i ...

  2. 树莓派2代B model 上手初体验,不用显示器,Python GPIO 点亮一颗LED

    开题:[好东西,值得研究!] 标题:树莓派2代B model 上手初体验,不用显示器,Python GPIO 点亮一颗LED [知识普及] 1,树莓派各版本对比: 2,树莓派2代BModel 主板,图 ...

  3. 从源码深处体验Spring核心技术--IOC容器初体验

    开局经验之谈:可能从这一篇文章开始,小伙伴们都会有点晕车的感觉了,但是这个系列并不是只是介绍下spring表面的一些肤浅的东西,本系列的目的是为了让大家从源码层次深入理解Spring,这也是大家在未来 ...

  4. 香蕉派(or 皮?)上手初体验 -- 外观鉴赏,安装,配置amp;总结

    一.前言及简单介绍 听到"派"或者是看到这幅图片.难免让你想到眼下大名鼎鼎的"树莓派". 而香蕉派(Banana Pi. 论坛上也有人称它香蕉皮)是一款国产的比 ...

  5. 文档数据库RavenDB-介绍与初体验

    不知不觉,".NET平台开源项目速览"系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分 ...

  6. node.js 初体验

    node.js 初体验 2011-10-31 22:56 by 聂微东, 174545 阅读, 118 评论, 收藏, 编辑 PS: ~ 此篇文章的进阶内容在为<Nodejs初阶之express ...

  7. Windows Embedded CE 6.0开发初体验(一)Windows CE概述

    这篇文章的目的并不是介绍Windows Embedded CE开发的方方面面,只是用一个初涉嵌入式领域的软件开发者的视角来介绍Windows CE开发中最常用的概念和知识,解决大家会在实际开发中碰到的 ...

  8. Docker深入浅出系列 | 容器初体验

    Docker深入浅出系列 | 容器初体验 教程目标 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干 ...

  9. 统信UOS20-1030 初体验

    统信UOS20-1030 初体验 一级目录 2.安装 2.1.语言 中文 2.2.配置网络 2.3.安装图形化服务器环境 2.4. 硬盘分区 2.5.等待安装完成 2.6.重启进入系统 3.使用UOS ...

最新文章

  1. extjs gridpanel滚动条问题显示数据不完整
  2. 【java基础】map的基本使用与字符串中每个字符出现的次数统计
  3. 洛谷 - P3690 【模板】Link Cut Tree (动态树)(LCT模板)
  4. 用strings命令查看kafka-log内容 过滤二进制编码
  5. 空间谱专题02:波束形成(Beamforming)
  6. centos 7 ssh 安装mysql,Linux服务器远程ssh为centos7安装MySQL
  7. 130242014039-(2)-体验敏捷开发
  8. access mysql odbc驱动程序_access odbc驱动下载|
  9. ATSC/DVB/ISDB三大标准比较
  10. 软件测试工程师 岗位分析
  11. go语言复数包_Go语言圣经 2.3-复数
  12. 今日添加ubuntu7.10配置
  13. 遗传算法的交叉变异操作杂记
  14. mapreduce出现大量task被KILLED_UNCLEAN的3个原因
  15. servlet和jsp简介
  16. 计算机专业就业方向湖北,湖北成考计算机类专业就业前景怎么样?
  17. 理解MySQL主从复制之realy_log_recovery
  18. 2021-10-29PS自学第4天——移动工具的使用
  19. sja1000 中断_SJA1000的错误中断处理
  20. 基于TI C55x架构的定点TMS320VC5509A音频专用DSP处理器开发板规格书

热门文章

  1. Android开发——适配终结者AutoLayout
  2. 小萨村的激光SLAM学习笔记
  3. [信息论与编码]离散信道及信道容量(三)
  4. 流媒体-H264协议-编码-x264学习-相关概念x264编译及文件解析(一)
  5. mysql的密码破解
  6. Zigbee疑难问题定位以及思路方法分享 (一)
  7. Linux命令行下修改文件或文件夹名
  8. java架构师主要负责什么_Java架构师主要学什么 Java架构师工资多少
  9. arch使用create_ap创建wifi热点
  10. Top 10 顶级项目管理工具