将文件重命名为已存在的文件名

卡玛阿里

例如file1.txt我正在将文件重命名为"newFile.txt"但是当代码下次运行时。该文件newFile.txt已经存在,所以新创建的文件名称"file1.txt"没有重命名为"newFile.txt"
我想要的,如果"newFile.txt"已经存在的重命名"file1.txt"应该覆盖"file1.txt"它是否可能?

这是我的代码

#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main() {
    char data[100];

    fstream outfile;
    outfile.open("afile.dat" , ios::out );

    cout << "Writing to the file" << endl;
    cout << "Enter your name: ";
    cin.getline(data, 100);

    outfile << data << endl;

    cout << "Enter your age: ";
    cin >> data;
    cin.ignore();

    // again write inputted data into the file.
    outfile << data << endl;

    cout << "Reading from the file" << endl;

    outfile >> data;
    cout << data << endl;

    outfile >> data;
    cout << data << endl;
    outfile.close();

   // this is how i am renaming
    std::rename("afile.dat" , "file2.txt");

    return 0;
}
斯密特·伊西肯

您的代码只对文件重命名一次。

第二次运行程序时,banana.txt该目录中已存在文件,并且函数std::rename("afile.dat" , "banana.txt");返回错误代码。

因此,您需要检查具有新文件名的文件是否已存在或在 function 之后处理错误std::rename

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将文件名从大写重命名为小写

将隐藏文件重命名为它们的文件名,..(双点)

如何将文件重命名为文件名中的子字符串?

将文件重命名为带有文件名的列表

将文件重命名为文件名的前缀和中间部分

将图像重命名为exif时间:创建唯一的文件名

将文件名中的特殊字符重命名为下划线

Bash:将文件名重命名为修改日期的unix时间戳

OSX / MacOs 批量将十六进制文件名重命名为十进制文件名

使用Java将文件名列表重命名为另一个列表的文件名

使用find命令将文件重命名为不带扩展名的相同文件名

在Windows 10中,如何将文件重命名为包含带有变音符的字符的文件名?

将多个文件夹中的重复文件名重命名为另一个名称

从文件名中提取文本并将文件重命名为 grep 文本?

如何递归地将目录树重命名为有效的 Windows 文件名?

Python将文件复制到新目录,如果文件名已存在,则重命名

如何在php中解析文件名并重命名为某个名称

将一组文件重命名为每个文件中都存在的字符串

将目录中的100个文件重命名为存储在文本文件中的新文件名

对于目录,将具有子目录名称+旧文件名的子目录中的文件重命名为新目录

正则表达式-将文件重命名为文件名中的最高分辨率

将目录中的所有文件重命名为其文件名的md5哈希(不包含内容)

如何将文件重命名为其创建日期和哈希值相结合以实现唯一文件名?

如何将文件名中带有“-yyyy mm dd hh mm”的所有文件重命名为日期/时间之前的部分?

将文件重命名为其BASE64

将多个文件重命名为其后缀

终端:将多个文件重命名为数字顺序

自动将.rdf文件重命名为.XML

如何将文件重命名为..(点点)?