如何在 C++ 中重命名文件?
rename(tempFileName.c_str(), tempFileName.c_str()+"new.txt");
但tempFileName
属于类型std::wstring
。但是rename()
函数只接受const char*
参数。
如何在 C++ 中重命名文件?
rename(tempFileName.c_str(), tempFileName.c_str()+"new.txt");
但tempFileName
属于类型std::wstring
。但是rename()
函数只接受const char*
参数。
在 Visual C++ 中,rename() 的宽字符版本是 _wrename()。这不是便携式的,但您可能不在乎。此外,你不能像这样添加原始字符串指针,你想要这样的东西(未经测试):
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()
函数。