C++中图片重命名实现代码

C++中实现图片重命名可以采用文件操作相关的库函数,如opendirreaddirrename等。

下面是一份示例代码:

#include <iostream>
#include <dirent.h>
#include <cstring>
#include <cstdio>

using namespace std;

void RenameFile(string oldName, string newName) {
    int flag = rename(oldName.c_str(), newName.c_str());
    if (flag == 0) {
        cout << "Rename Success !" << endl;
    } else {
        cout << "Rename Failed !" << endl;
    }
}

int main() {
    string path = "./images";
    DIR *dir;
    struct dirent *ent;
    if ((dir = opendir(path.c_str())) != NULL) {
        while ((ent = readdir(dir)) != NULL) {
            string fileName = ent->d_name;
            if (fileName == "." || fileName == "..") {
                continue;
            }
            string oldName = path + "/" + fileName;
            string newName = path + "/new_" + fileName;
            RenameFile(oldName, newName);
        }
        closedir(dir);
    } else {
        perror("");
        return EXIT_FAILURE;
    }

    return 0;
}

以上代码先定义一个RenameFile函数,该函数传入的是要修改的文件名和修改后的文件名,函数内部使用系统函数rename进行文件重命名,如果执行成功输出“Rename Success!”,否则输出“Rename Failed!”。

main函数中,先定义了要遍历的文件夹路径path,使用opendir函数打开该文件夹并遍历文件夹内的所有文件,对于每个文件,先判断其是否为“.”或“..”,如果是则跳过。接着,使用string将原文件名和新文件名组成完整的路径,借助RenameFile函数进行重命名。

下面是两个示例:

  1. 假设当前目录下有一个名为“images”的目录,其中有三个文件分别为“a.jpg”,“b.jpg”和“c.jpg”,要将这三个文件重命名为“new_a.jpg”,“new_b.jpg”和“new_c.jpg”。

    c++
    int main() {
    string path = "./images";
    DIR *dir;
    struct dirent *ent;
    if ((dir = opendir(path.c_str())) != NULL) {
    while ((ent = readdir(dir)) != NULL) {
    string fileName = ent->d_name;
    if (fileName == "." || fileName == "..") {
    continue;
    }
    string oldName = path + "/" + fileName;
    string newName = path + "/new_" + fileName;
    RenameFile(oldName, newName);
    }
    closedir(dir);
    }
    return 0;
    }

  2. 假设当前目录下有一个名为“images”的目录,其中有三个文件分别为“a.jpg”,“b.jpg”和“c.jpg”,其中“b.jpg”不需要重命名。

int main() {
    string path = "./images";
    DIR *dir;
    struct dirent *ent;
    if ((dir = opendir(path.c_str())) != NULL) {
        while ((ent = readdir(dir)) != NULL) {
            string fileName = ent->d_name;
            if (fileName == "." || fileName == "..") {
                continue;
            }
            if (fileName == "b.jpg") {
                continue;
            }
            string oldName = path + "/" + fileName;
            string newName = path + "/new_" + fileName;
            RenameFile(oldName, newName);
        }
        closedir(dir);
    }
    return 0;
}

在这个例子中,我们加了一个判断条件,如果文件名为“b.jpg”则跳过,不进行重命名操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中图片重命名实现代码 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • 详解C++中的const关键字及与C语言中const的区别

    详解C++中的const关键字及与C语言中const的区别 const 基础知识 在 C++ 中,const 关键字表示“常量”,即标识符被定义为只读的,不可修改的量。定义常量的格式如下: const <type> <name> = <value>; 其中,<type> 可以是任何 C++ 数据类型,<n…

    C 2023年5月23日
    00
  • GBTC持续负溢价有什么影响?灰度GBTC负溢价究竟会怎么样

    GBTC持续负溢价有什么影响? 什么是GBTC? GBTC是灰度比特币信托的缩写,是美国一家专门提供数字资产投资产品的资产管理公司。GBTC的基金追踪比特币价格,其价格通常显示为比特币交易所价格的溢价或折扣。如果GBTC价格高于比特币交易所价格,就说明GBTC以溢价交易;如果GBTC价格低于比特币交易所价格,则意味着GBTC以折扣交易。 GBTC负溢价的影响…

    C 2023年5月23日
    00
  • C语言实现简单的停车场管理系统

    C语言实现简单的停车场管理系统 概述 本文介绍如何使用C语言实现简单的停车场管理系统。该系统支持车辆的进入、离开以及查询停车场内的车辆信息等基本功能。 实现步骤 1. 设计数据结构 首先需要设计一个数据结构来表示车辆的信息,包括车牌号、入场时间等。我们可以定义一个结构体来表示车辆信息,如下所示: typedef struct Car { char licen…

    C 2023年5月22日
    00
  • 理光C2551彩色复印机怎么扫描文件?

    下面是关于“理光C2551彩色复印机怎么扫描文件”的详细攻略: 步骤一:连接网络 首先,确保你已经在正确的网络环境中,你需要连接到理光C2551彩色复印机所在的网络,才能进行扫描操作。 步骤二:将文件放入扫描仪上 在理光C2551彩色复印机上找到扫描仪,打开其盖子,并将要扫描的文件放在玻璃底部。注意,如果有多页文件需要扫描,需要一张一张的扫描。 步骤三:选择…

    C 2023年5月23日
    00
  • C语言函数指针的问题

    C语言函数指针的问题 函数指针是C语言中的一种类型,可以说是C语言中比较高级的概念。虽然函数指针相对于其他类型的指针来说比较复杂,难以理解,但是理解了函数指针之后会让我们的代码更加灵活,可读性更高,代码复用性更强。 一、什么是函数指针 函数指针就是指向函数的指针。通俗地说,它是一个指针,指向某个函数的起始位置。以一个函数的指针作为参数或返回值,可使函数更灵活…

    C 2023年5月10日
    00
  • C++实现比特币系统的源码

    C++实现比特币系统的源码攻略 比特币系统是一个由开源社区共同维护的加密货币系统,其核心在于区块链技术。C++语言被广泛用于比特币系统开发,以下是 C++ 实现比特币系统的源码攻略: 一、搭建开发环境 搭建比特币系统开发环境需要准备以下工具: C++ 编辑器:推荐使用 Visual Studio Code 或者 Sublime Text; Git 工具:用于…

    C 2023年5月23日
    00
  • go语言搬砖之go jmespath实现查询json数据

    下面是“go语言搬砖之go jmespath实现查询json数据”的完整攻略: 什么是go jmespath go jemspah是一个Go语言实现的JMESPath语法查询工具。JMESPath是一种用于描述如何从JSON文档中提取所需数据的查询语言。 安装go jmespath 在Go语言的环境下使用go get即可安装go jmespath: go g…

    C 2023年5月23日
    00
  • C 程序 查找给定范围内的回文数

    C 程序 查找给定范围内的回文数题目是一个比较典型简单的回文数算法题,可以通过C语言编程实现。 下面是C程序实现查找回文数的完整使用攻略: 1. 确定算法和数据结构 题目要求查找给定范围内的回文数,所以可以选择使用“回文数判断算法”对给定的范围内的数逐一进行判断。 判断给定数x是否为回文数的算法可以用以下方式: 将这个数每一位上的数字存储到数组中(例如,数字…

    C 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部