后缀前增加或者删除特定后缀

博主遇到在文件后缀前添加或删除'.tif'的需求,该功能简单,博主特此记录主要代码,并欢迎大家留言交流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近遇到这个需求,在文件后缀前增加或者删除".tif"。

如下图所示,功能非常简单,特此记录主要代码。

代码如下:

#include "main.h"

_tstring GetNewFileName(_tstring strFileName)
{
	_tstring strPathName(strFileName);
	_tstring strNewName;
	/************************************************************************/
	_tstring strName = CStdStr::GetNameOfFile(strPathName, false);

	_tstring strTif = CStdStr::ToUpperLower(CStdStr::GetSuffixOfFile(strName));

	if (strTif == _T(".tif"))
	{
		strNewName = CStdStr::AddSlashIfNeeded(CStdStr::GetDirOfFile(strPathName)) + CStdStr::GetNameOfFile(strName, false) + CStdStr::GetSuffixOfFile(strPathName);
	}
	else
	{
		strNewName = CStdStr::AddSlashIfNeeded(CStdStr::GetDirOfFile(strPathName)) + strName + _T(".tif") + CStdStr::GetSuffixOfFile(strPathName);
	}

	/************************************************************************/

	return strNewName;
}

size_t ProcessVectorFiles(std::vector<_tstring>& vRrlxFiles)
{
	const size_t argc = vRrlxFiles.size();

	for (int i = 0; i < argc; ++i)
	{
		_tstring strFile = vRrlxFiles[i];
		//全部变成小写方便比较
		//strFile = CStdStr::ToUpperLower(strFile);
		if (CStdFile::IfAccessFile(strFile))
		{
			_tstring strOldFile(strFile);
			_tstring strNewFile(GetNewFileName(strFile.c_str()));
			rename(CStdStr::ws2s(strOldFile).c_str(), CStdStr::ws2s(strNewFile).c_str());
			vRrlxFiles[i] = strNewFile;
		}
	}

	return vRrlxFiles.size();
}

更多的交流,欢迎留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值