【C++17 std::filesystem 用法】

本文介绍如何在C++17中使用std::filesystem库,涵盖判断文件夹存在、创建目录、文件操作、路径处理、文件属性获取及文件删除等常见功能,并提供示例代码。
摘要由CSDN通过智能技术生成

文章目录


写在最前: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::
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【网络星空】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值