【发布时间】:2020-06-22 04:18:05
【问题描述】:
我在 Windows 上工作,我试图简单地将文件从一个目录移动到另一个目录。 我使用“CopyFile”方法,但复制的文件名有问题;我正在尝试这个:
#include <windows.h>
#include <stdio.h>
std::string source_path = "C:/ProgramData/RTD02/versions/versions.txt";
std::string destination_path = "C:/ProgramData/RTD02/principale.txt";
CopyFile(source_path.c_str(), destination_path.c_str(), 0);
事实上,文件“versions.txt”的内容被很好地复制到了“principale.txt”文件中。但我也想要将文件“principale.txt”的名称更改为“versions.txt”,我尝试了这个但它没有用:
rename(destination_path.c_str(), source_path.c_str());
谢谢,
【问题讨论】:
-
如果你的编译器支持 C++17 - 你可以使用它 - en.cppreference.com/w/cpp/filesystem/rename
-
不幸的是它不支持,我使用的方法 rename() 来自
-
@JaziriRami:C++ 有重载;来自
<cstdio.h>的std::rename可以与来自<filesystem>的那个共存。
标签: c++ windows c++11 file-rename file-copying