文章目录
写在最前:std::filesystem 需要C++17或以上的支持,如果你也是使用visual studio开发,那么可以通过 项目属性 > 配置属性 > C/C++ > 语言 > C++语言标准 进行设置。
本文将针对常用的场景,对std::filesystem的使用逐一进行验证:
- <1> 判断文件夹是否存在
- <2> 创建单层目录
- <3> 逐级创建多层目录
- <4> 创建多级目录
- <5> 当前文件路径
- <6> 创建文件"from.dat"
- <7> 获取相对于base的绝对路径
- <8> 文件拷贝
- <9> 移动文件或重命名
- <10> 创建文件 “example.dat”
- <11> 获取文件大小
- <12> 获取文件最后修改时间
- <13> 删除文件
- <14> 递归删除目录下所有文件
- <15> 在临时文件夹下创建文件夹并删除
示例代码
#include <iostream>
#include <filesystem>
#include <fstream>
#include <string>
#include <set>
#include <assert.h>
using namespace std;
namespace fs = std::filesystem;
int main()
{
cout << "fs demo:\n" << std::boolalpha;
//<1> 判断文件夹是否存在
string dirName("log");
fs::path url(dirName);
if (!fs::exists(url)) {
cout << std::quoted(dirName) << " not exist" << "\n";
}
else {
cout << std::quoted(dirName) << " not exist" << "\n";
}
//<2> 创建单层目录
bool okey = fs::create_directory(dirName);
cout << "create_directory(" << std::