如何在c ++中重命名文件?
rename(tempFileName.c_str(), tempFileName.c_str()+"new.txt");
Run Code Online (Sandbox Code Playgroud)
但是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());
Run Code Online (Sandbox Code Playgroud)
使用 时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
}
Run Code Online (Sandbox Code Playgroud)
请参阅此处的文档。