IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 如何用C语言实现批量修改文件类型 -> 正文阅读

[C++知识库]如何用C语言实现批量修改文件类型

1.前言

这些天接触了用C语言打开以及读取文件内容后,突然想到是否可以用C语言更改文件类型(越学越发散了,本来想着专搞嵌入式方面的),愈发的觉得咱C语言还是挺强大的哈。首先的需要知道就是C库有没有类似读取文件的这种函数来读取文件名,要自己写的话那可真太复杂了,到网上搜了下,幸好,还真有:

DIR * opendir(const char * name);
【函数说明】opendir()用来打开参数name 指定的目录, 并返回DIR形态的目录流, 和open()类似, 接下来对目录的读取和搜索都要使用此返回值.
【返回值】成功则返回DIR
型态的目录流, 打开失败则返回NULL.
struct dirent * readdir(DIR * dir);
【函数说明】返回参数dir 目录流的下个目录进入点
【返回值】成功则返回下个目录进入点. 有错误发生或读取到目录文件尾则返回NULL.
【头文件】#include <dirent.h>

int rename(char * oldname, char * newname);
【函数功能】用于重命名文件、改变文件路径或更改目录名称;
【参数】oldname为旧文件名,newname为新文件名。
【返回值】修改文件名成功则返回0,否则返回-1。
【头文件】#include <stdio.h>

(以上引用参考自C语言中文网)

2.实现思路

1.首先需要知道我们期望的效果是什么:我们生成的可执行文件.exe放在需要批量进行文件的目录下,就可以实现更改文件类型的后缀。最开始想的是固定将某种文件格式改为另外一种文件格式,这样用户操作的时候只需点击.exe文件就可以,但是后来觉得这种适用性太小了,所以改为通过输入转化的源文件格式以及转化成目标文件的格式的方式来适应更多的类型修改,只是说操作稍微多了一点。

2.明白了我们需要达到的效果,那就开始写程序了,和读取文本文件一样,首先需要打开所在的目录:

DIR *dir = opendir("./");  //打开当前所有文件目录 

3.打开了目录之后就要开始读取当前文件的目录:

struct dirent *ptr = readdir(dir);  //读取当前所有文件目录,循环一次会自动读取下一个文件名 

4.之后需要做的就是将得到的文件名的后缀类型改为我们需要的文件格式,这里需要做的其实就是处理得到的文件名字符串,将其后缀替换成我们的目标格式。

5.调用rename函数将原文件名修改为目标的文件名

rename(ptr->d_name, dist_ptr);   //将ptr->d_name文件名修改为dist_ptr

6.最后关闭当前的文件目录:

closedir(dir);    //关闭当前目录

3.运行流程

1.将用源码生成的可执行文件(.exe)复制到所需进行批量修改文件类型的目录下;
在这里插入图片描述
2.运行可执行文件.exe,按照提示输入“需要转化的源文件格式”以及“转化成目标文件的格式”,输入完成后都以回车键结束~
在这里插入图片描述
3.之后原文件的类型就全部修改为我们需要的类型啦~
在这里插入图片描述

4.源码以及可执行文件的获取

1.下载我的资源:https://download.csdn.net/download/weixin_46582567/85403168
2.关注公众号“脑补空间”,发送“文件类型修改源码”获取~

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-21 18:44:48  更:2022-05-21 18:46:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/13 15:30:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码