如何使用wstring重命名文件

How to rename a file using wstring?

本文关键字:文件 重命名 wstring 何使用      更新时间:2023-10-16

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

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

tempFileNamestd::wstring型。而rename()函数只接受const char*参数

在Visual c++中,rename()的宽字符版本是_rename()。这是不便携的,但你可能不关心。另外,您不能像那样添加原始字符串指针,您需要这样的内容(未测试):

std::wstring newName(tempFileName);
newName += L"new.txt";
_wrename(tempFileName.c_str(), newName.c_str());

当使用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
}

查看文档

由于您的目标是Windows,请使用_wrename()函数代替。