在windows上使用C++删除文件

Delete Files with C++ on windows

本文关键字:C++ 删除 文件 windows      更新时间:2023-10-16

我正在编写一个C++程序,如果满足某些条件,我想删除一些创建的文件。这些文件有不同的文件名,在每次迭代中使用类型"string"进行分配。现在我正在尝试删除一些带有文件名的文件,但似乎无论是Deletefile函数还是remove都无法处理C++字符串。我也尝试过将字符串转换为c类型的char*,但它不起作用。

我正在windows 10上使用visualstudio社区2015。

他们有解决这个问题的方便方法吗?

如注释中所述,函数.c_str()返回可与DeleteFileremove一起使用的C兼容字符串。

如果这不起作用,我猜你的应用程序是按Unicode编译的,这意味着你必须使用std::wstring而不是std::string

尝试将两种方法结合起来:

std::string fileName = "C://file.txt";
std::wstring wFileName(fileName.begin(),fileName.end());
auto res = DeleteFile(wFileName.c_str());

然而,remove使用"常规"const char*