将文件从一个目录复制到另一个目录 (C++)

CopyFile from one directory to another (C++)

我正在 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());

谢谢,

答案是您的目标字符串必须是目标。

std::string destination_path = "C:/ProgramData/RTD02/versions.txt";

如果您打算替换现有文件,则可以使用 DeleteFile 跟进成功的副本 principale.txt

移动文件的Windows函数就是这样调用的,MoveFile。就像 CopyFile.

一样工作