“c++“中的文件系统

#include<filesystem>//c++17标准

里面包含的主要函数有:

说明以下函数都是在filesystem命名空间下的

 exists("路径") 判断是不是存在这个文件夹(做个安全隐患)

create_directory("文件名")创建一个文件名这个名字的文件夹

filesystem::create_directory("a");
	if (!filesystem::exists("a"))
	{
		cout << "文件不存在" << endl;
	}

create_directories("a/b/c")创建一个a文件夹里面有b文件夹b里面有c文件夹

filesystem::create_directories("a/b/c");

remove_all(文件名)//函数递归去删除文件夹(包括文件夹下面的所有)

filesystem::remove_all("a");
//删除a文件夹下所有文件夹(包括a)

filesystem下的path类

	//构造一个path路径
	filesystem::path url("boxFile");
	//当前程序路径
	filesystem::path curURL = filesystem::current_path();
	cout <<"当前路径:\t"<< curURL << endl;
	cout << "当前路径:\t" << curURL.string() << endl;
	cout << "根目录:\t\t" << curURL.root_directory() << endl;
	cout << "相对路径:\t" << curURL.relative_path() << endl;
	cout << "根名:\t\t" << curURL.root_name() << endl;
	cout << "根路径\t\t" << curURL.root_path() << endl;

    directory_iterator:遍历文件

void testfilesystem()//遍历的是当前目录下的文件
{
	filesystem::path url("D:\\Users\\asus\\source\\repos\\DIJkstre算法\\DIJkstre算法");
	if (!filesystem::exists(url))
	{
		cout << "文件不存在" << endl;
	}
	filesystem::directory_iterator in(url);
	for (auto v : in)
	{
		cout << v.path().filename() << endl;
	}
}

删除目录中所有文件

void deletefile()
{
	filesystem::path url = filesystem::current_path();
	cout << url << endl;
	set<string>dirset;//存入所有入径
	for (filesystem::directory_iterator begin(url), end; begin != end; begin++)
	{
		dirset.insert(begin->path().filename().string());
	}
	for (auto v : dirset)
	{
		
		filesystem::remove_all(url / v);
	}
}

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

gfxr1212

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

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

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

打赏作者

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

抵扣说明:

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

余额充值