一个文件夹下的文件重命名

void reNameFiles(string path)   //path为文件夹终极路径
{
	//文件句柄  
	long   hFile = 0;
	//文件信息  
	struct _finddata_t fileinfo;
	static int i = 1;
	string p;
	if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)
	{
		do
		{
				//cout<<fileinfo.name<<endl;  
				stringstream ss;
				ss << i;
				i++;
                                //几百个文件时递加重命名为3个字的新名字
				string new_name = "";
				if(i<10)   //小于10时前面补两个“0”
					new_name =p.assign(path).append("\\") + string("00"+ss.str() + ".jpg");
				else if(i<100)//大于9小于100时前面补1个“0”
					new_name = p.assign(path).append("\\") + string("0" + ss.str() + ".jpg");
				else
					new_name = p.assign(path).append("\\") + string( ss.str() + ".jpg");

				rename(p.assign(path).append("\\").append(fileinfo.name).c_str(), new_name.c_str());
			
		} while (_findnext(hFile, &fileinfo) == 0);
		_findclose(hFile);
	}
}

猜你喜欢

转载自blog.csdn.net/andylanzhiyong/article/details/80703681