c++重命名图片名

这段C++代码实现批量重命名指定文件夹内的.jpg图片,根据参数N自动添加前导零,保持文件名顺序。通过_findfirst, _findnext 和 rename 函数遍历并重命名文件。" 115585191,395519,使用指南:Questa Autocheck 工具深入解析,"['芯片开发', '开发工具', '验证工具']

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

#include <iostream>    
#include <sstream>//格式转换,这里是int转为string  
#include <string>    
#include <io.h>  //进行系统文件操作的头文件  


using namespace std;
const int N = 6;//假如少于100张,N=2,则编号1~99;N=3,则编号01~099,N=4,则编号0001~0099  
const string fileType = ".jpg";//需要重命名图片的格式  
string int2string(int n, int i);//类型转换函数  


int main()
{
_finddata_t file;   // 查找文件的类  
string fileDirectory = "F:\\images"; //文件夹目录,自己修改  
string buffer = fileDirectory + "\\*" + fileType;
//long hFile;//win7系统  
intptr_t hFile;//win10系统  
hFile = _findfirst(buffer.c_str(), &file); //找第一个文件  


if (hFile == -1L)
cout << "没有指定格式的图片" << endl;//没有指定格式的图片  
else
{
int i = 0;
string newFullFilePath;
string oldFullFilePath;
string strName;
do
{
oldFullFilePath.clear();
newFullFilePath.clear();
strName.clear();


oldFullFilePath = fileDirectory + "\\" + file.name;
++i;
strName = int2string(N, i); //类型转换  
newFullFilePath = fileDirectory + "\\" + strName + fileType;


int c = rename(oldFullFilePath.c_str(), newFullFilePath.c_str());//重命名  
if (c == 0)
cout << "重命名成功" << strName << fileType << endl;
else
cout << "重命名失败" << strName << fileType << endl;


} while (_findnext(hFile, &file) == 0);
_findclose(hFile);
}


system("pause");
return 0;
}


string int2string(int n, int i)//类型转换函数  
{
char s[BUFSIZ];
sprintf_s(s, "%d", i);
int len = strlen(s);
if (len > n)
{
cout << "输入的N太小!";
}
else
{
stringstream Num;
for (int i = 0; i < n - len; i++)
Num << "0";
Num << i;


return Num.str();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值