栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++判断文件是否被占用,不通过依赖系统和平台库函数方式

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++判断文件是否被占用,不通过依赖系统和平台库函数方式

小编最近项目中遇到被占用的发送文件失败的情况,然后就要来修改这个bug
初步想的是通过Open打开指针是否为的nullptr的情况来判断,后来测试并不行 pass!
就想到之前文件被占用改名失败的问题,于是乎

		try
		{
			filesystem::rename(m_uploadFilePath.wstring(), m_uploadFilePath.wstring());
		}
		catch (const filesystem::filesystem_error& e)
		{
			errmsg = L"文件被占用";
			SetError(ERR_FILE_PREPARE_FAILED, errmsg.ToUTF8().c_str());
			m_context.GetUserLogger()->Info(L"[FileUpload]file prepare fail, errmsg={}", errmsg);
			SaveFileUploadFailedMsg();
			return nullptr;
		}

注:由于开发环境,filesystem 是用的boost库函数,官爷们可根据c++函数来更改替换(前后改名信息要一致!)
namespace filesystem = boost::filesystem;

最后问题完美解决,所以各位官爷今天学废了吗?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384961.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号