C++对于文件和文件夹的一些操作(存在/创建/复制/删除/查找/遍历等)

2 篇文章 0 订阅

总结一下关于文件和文件夹操作的API,便于以后查询。

 

判断文件夹是否存在:

bool bExist = PathFileExists(Path);

创建文件夹:

CreateDirectory(Path, NULL);

删除文件夹:

RemoveDirectory(Path);

复制文件到特定文件夹:

// 拷贝文件A到B,如果B已经存在,就覆盖(FALSE)
_stprintf_s(fileA, _T("%s\\%s"), PathA, FileName);
_stprintf_s(fileB, _T("%s\\%s"), PathB, FileName);
CopyFile(fileA, fileB, FALSE);	

查找特定格式文件(以遍历问价夹中ini文件为例):

// 遍历所有ini文件
CFileFind fileFinder;
CString cMasterPath;
CString FileName;
bool bFound = true;	//判断是否成功找到文件
bool isIniExit = fileFinder.FindFile(cMasterPath + "\\*.ini"); //修改" "中内容指定查找不同类型文件

while (isIniExit && bFound)      //当存在ini文件时, 遍历所有文件
{
	bFound = fileFinder.FindNextFile(); //第一次执行FindNextFile是选择到第一个文件,以后执行为选择到下一个文件

	if (fileFinder.IsDirectory())   //找到的是文件夹,则结束本次查找
	{
		continue;
	}
	else
	{
		FileName = fileFinder.GetFileName(); //保存文件名,包括后缀名
		// 在此处添加对找到文件的处理
		 将所有文件复制到Default文件夹中
		TCHAR fileA[256], fileB[256];
		_stprintf_s(fileA, _T("%s\\%s"), PathA, FileName);
		_stprintf_s(fileB, _T("%s\\%s"), PathB, FileName);
		CopyFile(fileA, fileB, FALSE);	//拷贝文件A到B,如果B已经存在,就覆盖
	}
}

fileFinder.Close();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值