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 namechar 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所示

图1 执行程序前状态

(2)执行程序后状态如图2所示

图2 执行程序后状态
(3) 程序执行结果如图3所示

图3 程序执行结果

4、总结
这个写的一般,但是也算是勉强能解决问题。希望能够对别人有借鉴或者帮助。
5、参考文献
http://zhidao.baidu.com/link?url=YPNaKWx22B7eNydm-fZMCefpjFfO0cZum4v2EQPAhSImvKJhyzxjR87_IZ1k11u0P9c6TYux4hpBA5efkTPfsxBUNle74JlcdATsTok1KCy
6、祝愿
不忘初心,方得始终。2016年,各位朋友新年快乐!

c++如何批量修改文件后缀名相关推荐

  1. linux sed给空文件首行插入_linux下批量修改文件后缀名以及合并多行

    写在前面 感谢乔兄送测的公司,让我终于所有营业 part1讲下怎么解决小问题 part2分享谈判过程 part3mark张兄的奶茶 PART1 linux下批量修改文件后缀名以及合并多行 近期师兄在做 ...

  2. java例程练习(批量修改文件后缀名)

    /*** 文件后缀名修改器* 说明:UI部分* @author Yours风之恋* * 创建时间:2012-8-8**/ public class UserInterface {public stat ...

  3. 玩点不一样的,如何使用MATLAB实现批量修改文件后缀名,文件名,批量复制文件

    1.  自动批量修改文件后缀名,有时非常有用. 对于文件名没有要求,不用是序列文件名.比如需要将abaqus的inp文件修改成txt文件,便于使用 textscan和 textread等函数操作. c ...

  4. php 批量改文件名后缀名_PHP 批量修改文件后缀名

    跳至/** * 批量修改文件后缀名 * @param $path 文件夹路径 * @param $sext 原文件后缀名 ($sext=all说明整个目录的所有文件) * @param $dext 目 ...

  5. C++批量修改文件后缀名(提供多种方法)

    C++批量修改文件后缀名的Qt程序 方法一: #include "stdafx.h"#include <stdio.h> #include <fstream> ...

  6. 计算机如何更改后缀文件名,如何批量修改文件后缀名(任何文件的扩展名)?

    无需软件批量修改文件后缀名?怎么通过命令行批量修改文件后缀名?有时候由于文件后缀名格式不同,有的时候我们需要对文件扩展名进行修改,或者文件扩展名丢失,需要添加.如果数量少的文件那还简单直接修改就好了. ...

  7. 如何批量修改文件后缀名?(批量修改文件的扩展名)

    无需软件批量修改文件后缀名?怎么通过命令行批量修改文件后缀名?有时候由于文件后缀名格式不同,有的时候我们需要对文件扩展名进行修改,或者文件扩展名丢失,需要添加.如果数量少的文件那还简单直接修改就好了. ...

  8. windows10批量修改文件后缀名

    windows10批量修改文件后缀名 步骤 1. 在windows开始栏中打开命令提示符, 也可以用快捷键:win+R ,输入cmd,回车 2. cd到你需要修改后缀名的文件夹目录下,输入命令:ren ...

  9. 怎么批量修改html文件后缀,如何批量修改文件后缀名 超详细介绍

    如何批量修改文件后缀名 超详细介绍.比如我们保持图片的时候,不是我们要的jpg格式的,需要一个一个去修改她的后缀名.现在小编就教大家快速的,批量的,安全的修好多数的文件后缀名.希望能帮大家平时的工作. ...

  10. 批量修改文件后缀名(脚本)

                                     一键批量修改文件后缀名(脚本) 输入法是英语模式输入!!! 输入法是英语模式输入!!! 输入法是英语模式输入!!! 1.在你需要更改的 ...

最新文章

  1. Kinect Win10环境配置
  2. MAPREDUCE实践篇(1)
  3. Oracle使用触发器和mysql中使用触发器的比较
  4. Py学生信息管理系统 案例(优化版)
  5. ElasticSearch统计总数据量
  6. .net core image怎么保存_C# 将PDF转为多种Image图像文件格式(Png/Bmp/Emf/Tiff)
  7. crop和resize操作区别
  8. 9V降压5V低功耗恒压稳压芯片,大电流3A方案和LDO
  9. MeteoInfoLab脚本示例:利用比湿、温度计算相对湿度
  10. 大学英语精读第二版(第五册)复习笔记——文章内容摘要
  11. 定制ERP和通用ERP如何选择?
  12. 游戏开发需要具备哪些技术?
  13. 防火墙之ipsec vpn实验
  14. 浏览器有新消息之后,图标在电脑任务栏闪烁提示
  15. 服务端返回中文乱码的分析和解决办法
  16. 通过WHQL认证的产品可以在微软官网查询了
  17. Java反射面试题(2020)
  18. CPU除了导热硅脂还有那些不为人知的散热技巧
  19. 什么是数据可视化?为什么要可视化?
  20. 计算机项目uniapp(毕设课设)之 含文档+PPT+源码等]精品基于Uniapp+SSM的安卓的掌上校园系统食堂缴费图书馆预约

热门文章

  1. vue项目接入监控视频(360浏览器)
  2. 【Java基础】集合总结(三)——Queue集合、Map集合
  3. AI人工智能机器人教室方案(含全套配置)
  4. 对话华纳前CEO西尔弗曼:如何成功打造电影《神奇女侠》
  5. 群晖 NAS 与 百度云网盘互相进行同步
  6. 面试题练习(Java基础(一))
  7. NOIP2016Day1总结
  8. SIGIR论文写作技巧
  9. ​​氨基羧基化二氧化硅包覆核壳结构上转换纳米粒(808激发,蓝光,980激发,绿光)
  10. Error 1053: The service did not respond to the start or control request in a timely fashion.问题排查