gpt4 book ai didi

file - 使用 QDir::rename() 重命名 Qt 中的文件失败

转载 作者:行者123 更新时间:2023-12-04 05:07:00 24 4
gpt4 key购买 nike

我正在使用 QDir::rename()重命名临时文件。

这是我的代码:

// change the temporary filename
void save::finish()
{
QString newpath = ui->path->text();

QString newname = ui->filename->text();

newpath.append("/");
newpath.append(newname);
newpath.append(".txt");

QDir r;

bool check = r.rename("temp.txt", newname);

if (check == true)
{
QMessageBox::warning(this,"Error","Saved successfully!", QMessageBox::Ok);
close();
}

else
{
QMessageBox::warning(this,"Error","Error saving! Please try again.", QMessageBox::Ok);
}
}

该文件已重命名,但它与临时文件位于同一目录中。我不明白出了什么问题。

最佳答案

也许试试

bool check = r.rename("temp.txt", newpath);

我看到你有一个 QStringnewpath未在重命名调用中使用但您通过了 newname您已附加到 newpath就在上一行。从您发布的代码来看,您似乎只是给出了一个新名称,因此为什么结果文件与原始文件位于同一文件夹中,但确实被重命名了。

请记住,即使提供完整路径 QDir::rename如果源路径和目标路径不在同一个分区上,或者由于文档中提到的其他一些原因,将失败。

关于file - 使用 QDir::rename() 重命名 Qt 中的文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15416603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com