C++17 filesystem文件系统
C++17 filesystem文件系统
开启C++17的支持
项目属性->C/C++->语言->C++语言标准设置为:ISO C++17 标准 (/std:c++17)
头文件及命名空间
#include<filesystem>
using namespace std::filesystem
常用类
path类:路径处理
directory_entry类:文件入口
directory_iterator类:获取文件系统目录中文件的迭代器容器
file_status类:用于获取和修改文件(或目录)的属性
path类
函数名 | 功能 |
---|---|
path& append(const _Src& source) | 在path末尾加入一层结构 |
path& assign(string_type& source) | 赋值(字符串) |
void clear() | 清空 |
int compare(const path& other) | 进行比较 |
bool empty() | 空判断 |
path filename() | 返回文件名(有后缀) |
path stem() | 返回文件名(不含后缀) |
path extension() | 返回文件后缀名 |
path is_absolute() | 判断是否为绝对路径 |
path is_relative() | 判断是否为相对路径 |
path relative_path() | 返回相对路径 |
path parent_path() | 返回父路径 |
path& replace_extension(const path& replace) | 替换文件后缀 |
常用函数
std::filesystem::exists(const path& pval):用于判断path是否存在
std::filesystem::copy(const path& from, const path& to):目录复制
std::filesystem::absolute(const path& pval, const path& base = current_path()):获取相对于base的绝对路径
std::filesystem::create_directory(const path& pval):当目录不存在时创建目录
std::filesystem::create_directories(const path& pval):形如/a/b/c这样的,如果都不存在,创建目录结构
std::filesystem::file_size(const path& pval):返回目录的大小