本文共 1250 字,大约阅读时间需要 4 分钟。
1、问题描述 在日常的应用中,很多时候会用到批量修改图片的后缀名。比如将1.bmp修改为1.jpg。或许我们用格式工厂或者批处理文件.bat课以轻而易举的做到。这里暂不讨论。本篇文章仅仅对如何用c++做图片批处理修改后缀名做一些说明。 2、c++程序 程序思路:先获取到文件夹下所有文件的名字,然后,用newname取代原来的oldname。
#include "stdafx.h"#include#include #include #include #include #include #include #include #include #include #include using namespace std;void getFilesAll( string path, vector & files){ //获取文件夹下面的所有文件名字 //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo; string p; if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) != -1) { do { if ((fileinfo.attrib & _A_SUBDIR)) { if (strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0) { getFilesAll( p.assign(path).append("\\").append(fileinfo.name) , files ); } } else { files.push_back(p.assign(path).append("\\").append(fileinfo.name) ); } }while(_findnext(hFile, &fileinfo) == 0); _findclose(hFile); } }void postfix(){ char *filePath="G:\\image\\"; char strname[60]; vector filesa; getFilesAll(filePath ,filesa ); for(unsigned int i=0 ; i
3、效果图展示 (1)执行程序前状态如图1所示
(2)执行程序后状态如图2所示