C++文件系统
2022/1/8 20:05:45
本文主要是介绍C++文件系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
filesystem简介
#include <filesystem> #include <iostream> using namespace std; int main() { filesystem::path ur1("fileBox"); if (!filesystem::exists(ur1)) { cout << "不存在" << endl; }//路径存在不做创建处理 filesystem::create_directory("fileBox"); //如果目录下没有就创建一个叫fileBox的文件夹,单层目录 filesystem::create_directories("a/b/c");//创建多级目录 filesystem::remove_all(ur1);//删除整个文件夹 auto time = filesystem::last_write_time("a/b/c");//得到c最后一次写的时间 cout << time.time_since_epoch() << endl; return 0; }
在官方文档还有好多
path类
filesystem::path ur1("fileBox"); filesystem::path curUAL = filesystem::current_path(); cout << curUAL.string() << endl;//输出当前文件路径 cout << curUAL.root_directory() << endl;//根目录 cout << curUAL.relative_path() << endl;//相对路径 cout << curUAL.root_name() << endl;//根名 cout << curUAL.root_path() << endl;//根路径
file_statues类
文件状态判断:
void test_file_statues(filesystem::file_status a) { switch (a.type()) { case filesystem::file_type::regular: cout << "磁盘文件" << endl; break; case filesystem::file_type::directory: cout << "目录文件" << endl; break; case filesystem::file_type::not_found: cout << "目录不存在" << endl; break; case filesystem::file_type::none: cout << "不清楚" << endl; } } filesystem::create_directory("file"); test_file_statues(filesystem::status("file"));
遍历文件操作
void traverDirectory() { filesystem::path ur1("C:\\Users"); if (!filesystem::exists(ur1)) cout << "路径不存在" << endl; filesystem::directory_entry input(ur1); if (input.status().type() != filesystem::file_type::directory) cout << "ur1不是目录" << endl; filesystem::directory_iterator dir(ur1); for (auto v : dir) cout << v.path().filename() << endl; } //遍历当前文件夹下的所有文件 void traverDirectoryAllfile() { filesystem::path ur1("C:\\"); if (!filesystem::exists(ur1)) cout << "路径不存在" << endl; set<string> dirset; filesystem::directory_iterator begin(ur1); for (filesystem::directory_iterator end, begin(ur1); begin != end; ++begin) { if (!filesystem::is_directory(begin->path())) { dirset.insert(begin->path().filename().string()); } } for (auto v : dirset) { cout << v << endl; } }
这篇关于C++文件系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Rocket消息中间件教程:新手入门详解
- 2024-11-26RocketMQ项目开发教程:新手入门指南
- 2024-11-26MQ源码教程:轻松入门Apache MQ源码解析
- 2024-11-26Rocket消息队列教程:新手入门必读
- 2024-11-26Rocket消息队列教程:新手入门指南
- 2024-11-26RocketMQ底层原理教程:新手入门指南
- 2024-11-26RocketMQ底层原理教程:入门级详解
- 2024-11-26如何获取 OpenAI API Key 用于ChatGPT AI大模型开发?
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享