c++如何批量修改文件后缀名
来源:互联网 发布:淘宝开店理论知识 编辑:程序博客网 时间:2024/05/16 09:13
1、问题描述
在日常的应用中,很多时候会用到批量修改图片的后缀名。比如将1.bmp修改为1.jpg。或许我们用格式工厂或者批处理文件.bat课以轻而易举的做到。这里暂不讨论。本篇文章仅仅对如何用c++做图片批处理修改后缀名做一些说明。
2、c++程序
程序思路:先获取到文件夹下所有文件的名字,然后,用newname取代原来的oldname。
#include "stdafx.h"#include <stdio.h>#include <fstream>#include <Windows.h>#include <cstdio>#include <iostream>#include <string>#include <io.h>#include <vector>#include <direct.h>#include <stdlib.h>#include <memory>using namespace std;void getFilesAll( string path, vector<string>& 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<string> filesa; getFilesAll(filePath ,filesa ); for(unsigned int i=0 ; i<filesa.size(); i++) { char newname[80]; //store the folder's name char oldname[80]; strcpy(oldname, filesa[i].c_str()); cout<<filesa[i].c_str()<<endl; //strcpy(newname, filesa[i].c_str()); sprintf(newname,"G:\\result\\%d.jpg",i); //sprintf(newname,"%d.jpg",i); rename(oldname,newname); if (rename(oldname,newname)) { cout<<"第"<<i<<"个文件名字从"<<filesa[i].c_str()<<"修改为"<<newname<<"成功"<<endl; } cout<<strname<<endl; }}void main(){ postfix(); system("pause");}
3、效果图展示
(1)执行程序前状态如图1所示
(2)执行程序后状态如图2所示
(3)程序执行结果如图3所示
4、总结
这个写的一般,但是也算是勉强能解决问题。希望能够对别人有借鉴或者帮助。
5、参考文献
http://zhidao.baidu.com/link?url=YPNaKWx22B7eNydm-fZMCefpjFfO0cZum4v2EQPAhSImvKJhyzxjR87_IZ1k11u0P9c6TYux4hpBA5efkTPfsxBUNle74JlcdATsTok1KCy
6、祝愿
不忘初心,方得始终。2016年,各位朋友新年快乐!
0 0
- 如何批量修改文件后缀名
- ubuntu下如何批量修改文件后缀名
- c++如何批量修改文件后缀名
- 批量修改文件后缀名
- 批量修改文件后缀名
- 批量修改文件后缀名
- 批量修改文件后缀名
- 批量修改文件后缀名
- 批量修改文件后缀名
- 批量修改文件后缀名
- 批量修改文件后缀名
- 文件后缀名批量修改
- 批量修改文件后缀名
- 批量修改文件后缀名
- PHP 批量修改文件后缀名
- java批量修改文件后缀名
- windows批量修改文件后缀名
- ubuntu批量修改文件后缀名
- 中间件系列(一)——浅谈中间件原理及优势
- DES加密的C语言实现
- 摩斯代码转换
- 无限层级的组织机构
- linux下redmine安装部署
- c++如何批量修改文件后缀名
- iOS webp支持
- Android 第三天(上午)
- 分析自定义view的实现过程-实现雪花飞舞效果
- Robi改造计划RTP--完成12月和1月计划
- Service (在Service中注册BroadcastReceiver)
- 【python】 身份认证小程序
- Android异步处理三:Handler+Looper+MessageQueue深入详解
- 解决Invalid Code Signing Entitlements 问题