如何在C++中重命名文件?

rename(tempFileName.c_str(), tempFileName.c_str()+"new.txt");

但是tempFileNamestd::wstring类型。但是rename()函数仅接受const char*参数。

最佳答案

使用Visual Studio时,通常使用宽字符串。为了重命名文件,您可以使用MoveFileEx -function,您可以像这样重命名文件。

std::wstring newFilename = tempFileName.c_str();
newFilename += _T("new.txt");
if(!MoveFileEx(tempFileName.c_str(), newFilename.c_str(), flags )){
//error handling if call fails
}

有关文档,请参见here

07-27 13:21