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++虚表实现代码

    探究 C++ 虚表的实现代码是一个相当深入的话题,需要对 C++ 对象模型以及函数调用机制有一定的了解。下面将介绍如何进行这样一个的探究,包括以下的几个部分: 对 C++ 对象模型的介绍 虚表的定义和用途 虚表的实现方式 通过示例说明虚表的使用和作用 对 C++ 对象模型的介绍 在了解虚表实现之前,我们需要先了解 C++ 对象模型。C++ 对象模型指的是 C…

    C 2023年5月23日
    00
  • java自定义异常打印内容详解

    当我们在编写 Java 程序时,如果出现了异常,通常会打印出一些信息,以便我们快速定位问题所在。Java 还提供了自定义异常的功能,可以通过自定义异常类来打印我们想要的异常信息,从而使程序的调试和维护变得更加便捷。下面,我会为大家详细讲解如何使用 Java 自定义异常打印内容。 1. 自定义异常类 我们可以通过继承 Exception 类或其子类来创建自定义…

    C 2023年5月23日
    00
  • 分享常用的3个C++小技巧

    下面是“分享常用的3个C++小技巧”的完整攻略: 1. 使用RAII技术自动释放资源 RAII(Resource Acquisition Is Initialization)是C++中的一项技术,它的思想是:当一个对象被创建时,它的构造函数会自动申请所需要的资源;当这个对象被销毁时,它的析构函数会自动释放申请的资源。利用RAII技术可以确保在任何时候都不会忘…

    C 2023年5月24日
    00
  • JSON传递bool类型数据的处理方式介绍

    JSON(JavaScript Object Notation)是一种用于数据交换的轻量级文本格式,被广泛应用于前后端通信中。在JSON中,bool类型数据表示为true或false。在传递bool类型数据时,我们需要明确如何对其进行处理。 在PHP中,我们需要使用json_encode()函数将bool类型数据转换为JSON字符串,使用json_decod…

    C 2023年5月23日
    00
  • c语言clock函数使用示例

    C语言Clock函数使用示例 Clock函数介绍 clock()是C语言标准库中的一个函数,其函数原型为:clock_t clock(void);。该函数通常用于计算程序运行的时间,单位为时钟周期(clock tick),可以通过除以CLOCKS_PER_SEC转换成秒。 需要注意的是,clock()函数返回的是程序自进程开始运行时起累计的时钟周期数,并不是…

    C 2023年5月23日
    00
  • VC WinExec打开指定程序或者文件的方法

    VC WinExec打开指定程序或者文件的方法 WinExec函数是VC++中用于调用Windows API的函数之一,主要用于打开指定程序或者文件。具体使用方式如下: WinExec函数语法 UINT WinExec( LPCSTR lpCmdLine, // 必须,指定启动的程序或文件名称及相应参数 UINT uCmdShow // 可选,指定程序窗口显…

    C 2023年5月23日
    00
  • 排查服务器异常流量教程详解

    排查服务器异常流量教程详解 介绍 在运营网站的过程中,有时会遇到异常流量问题,可能是网站被攻击,也可能是某个页面被爬虫大量访问。如何定位和解决这些问题是网站运营者必备的技能。 本教程将介绍如何使用服务器的工具和日志来排查异常流量问题。 步骤 1. 监控服务器流量 使用工具如 iftop 或 vnstat 来监控服务器的流量情况。 例如使用 vnstat 工具…

    C 2023年5月23日
    00
  • OpenCV如何提取图片中曲线

    OpenCV提取图片中曲线攻略 简介 OpenCV是一款开源的计算机视觉库,通过它可以方便地对图像和视频进行处理和分析。其中,提取图片中的曲线是一种比较基础的图像处理技巧,在很多领域都有广泛的应用。 本文将介绍在OpenCV中如何提取图片中曲线的完整攻略。 准备工作 在开始操作之前,需要先在Python环境下安装好OpenCV库。安装方法可以参考OpenCV…

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