C++ filesystem 文件系统初体验
#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 文件系统初体验相关推荐
- ipfs星际文件系统初体验
ipfs是InterPlanetary File System的简称,即星际文件系统,他不同于一般的操作系统文件系统,也不同于分布式文件系统,因为分布式文件系统最终访问文件还是采用的http协议,而i ...
- 树莓派2代B model 上手初体验,不用显示器,Python GPIO 点亮一颗LED
开题:[好东西,值得研究!] 标题:树莓派2代B model 上手初体验,不用显示器,Python GPIO 点亮一颗LED [知识普及] 1,树莓派各版本对比: 2,树莓派2代BModel 主板,图 ...
- 从源码深处体验Spring核心技术--IOC容器初体验
开局经验之谈:可能从这一篇文章开始,小伙伴们都会有点晕车的感觉了,但是这个系列并不是只是介绍下spring表面的一些肤浅的东西,本系列的目的是为了让大家从源码层次深入理解Spring,这也是大家在未来 ...
- 香蕉派(or 皮?)上手初体验 -- 外观鉴赏,安装,配置amp;总结
一.前言及简单介绍 听到"派"或者是看到这幅图片.难免让你想到眼下大名鼎鼎的"树莓派". 而香蕉派(Banana Pi. 论坛上也有人称它香蕉皮)是一款国产的比 ...
- 文档数据库RavenDB-介绍与初体验
不知不觉,".NET平台开源项目速览"系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分 ...
- node.js 初体验
node.js 初体验 2011-10-31 22:56 by 聂微东, 174545 阅读, 118 评论, 收藏, 编辑 PS: ~ 此篇文章的进阶内容在为<Nodejs初阶之express ...
- Windows Embedded CE 6.0开发初体验(一)Windows CE概述
这篇文章的目的并不是介绍Windows Embedded CE开发的方方面面,只是用一个初涉嵌入式领域的软件开发者的视角来介绍Windows CE开发中最常用的概念和知识,解决大家会在实际开发中碰到的 ...
- Docker深入浅出系列 | 容器初体验
Docker深入浅出系列 | 容器初体验 教程目标 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干 ...
- 统信UOS20-1030 初体验
统信UOS20-1030 初体验 一级目录 2.安装 2.1.语言 中文 2.2.配置网络 2.3.安装图形化服务器环境 2.4. 硬盘分区 2.5.等待安装完成 2.6.重启进入系统 3.使用UOS ...
最新文章
- extjs gridpanel滚动条问题显示数据不完整
- 【java基础】map的基本使用与字符串中每个字符出现的次数统计
- 洛谷 - P3690 【模板】Link Cut Tree (动态树)(LCT模板)
- 用strings命令查看kafka-log内容 过滤二进制编码
- 空间谱专题02:波束形成(Beamforming)
- centos 7 ssh 安装mysql,Linux服务器远程ssh为centos7安装MySQL
- 130242014039-(2)-体验敏捷开发
- access mysql odbc驱动程序_access odbc驱动下载|
- ATSC/DVB/ISDB三大标准比较
- 软件测试工程师 岗位分析
- go语言复数包_Go语言圣经 2.3-复数
- 今日添加ubuntu7.10配置
- 遗传算法的交叉变异操作杂记
- mapreduce出现大量task被KILLED_UNCLEAN的3个原因
- servlet和jsp简介
- 计算机专业就业方向湖北,湖北成考计算机类专业就业前景怎么样?
- 理解MySQL主从复制之realy_log_recovery
- 2021-10-29PS自学第4天——移动工具的使用
- sja1000 中断_SJA1000的错误中断处理
- 基于TI C55x架构的定点TMS320VC5509A音频专用DSP处理器开发板规格书