首页 > 解决方案 > 文件系统错误:无法复制:文件存在

问题描述

我在文件夹 A 中有一个 .txt 文件,我正在尝试使用此代码将其复制到文件夹 B,

#include <iostream>
#include <filesystem>

int main() {
    try {
        std::filesystem::path src("C:\\Projects\\test.txt")
        std::filesystem::path dst("C:\\Projects\\Notes");

        std::filesystem::copy(src, dst, std::filesystem::copy_options::overwrite_existing);
    } catch (const std::exception &e)
    {
        std::cout << e.what() << "\n";
    }
}
                

代码可以编译,但是当我运行它时会输出错误。

filesystem error: cannot copy: File exists 
[C:\Projects\test.txt] [C:\Projects\Notes]

我对文件系统的使用不正确吗?这是MinGW的错误吗?

MinGW-w64 9.0.0
GCC Version 11.1

MinGW 取自http://winlibs.com/

我的操作系统是 Windows 10

标签: c++

解决方案


原来我必须给出文件名,它不会像高级语言那样自动将文件复制到文件夹中。

所以,

    std::filesystem::path dst("C:\\Projects\\Notes");

变成

    std::filesystem::path dst("C:\\Projects\\Notes\test.txt");

推荐阅读