gpt4 book ai didi

C++ Qt5 QDir 重命名返回 false

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:01:53 24 4
gpt4 key购买 nike

我是 Qt 的新手,正在学习如何使用 QDir 和 QFile 库重命名文件。

我知道如何重命名并且我可以做到,但是当我在这个循环中尝试时它不起作用。

QDir editFile;
std::cout << "Attempting to chop and put .mp4 onto a regular file.\n";
QString fileNameBuf{argv};
QString fileOriginal{argv};
for(int l{0}; l < fileNameBuf.size(); ++l)
{
if(fileNameBuf.at(l) == '.')
{
fileNameBuf.chop(fileNameBuf.size() - l);
break;
}
}
fileNameBuf.append(".mp4");
if(editFile.rename(argv, fileNameBuf))
std::cout << "Successful\n";
else
std::cout << "did not make it.\n";

这实际上是在一个发送名为argv 的QString 的函数中。 argv 是一个文件路径。我让它附加 .mp4 并删除旧的扩展名。我听说过并且知道,如果您将 Q 重命名错误,它将无法工作。请帮我处理这段代码。我已经查看了有关此的其他帖子,但它们似乎没有帮助。

最佳答案

我希望您知道文件不是那样工作的...只是更改文件的扩展名并不意味着它会生成新的有效文件类型。

话虽如此。无需重新发明轮子:

查看官方文档:

https://doc.qt.io/qt-5/qfile.html#rename-1

QFile editFile{"foo.txt"};
std::cout << "Attempting to chop and put .mp4 onto a regular file.\n";
if(editFile.rename("foo.mp4"))
std::cout << "Successful\n";
else
std::cout << "did not make it.\n";

关于C++ Qt5 QDir 重命名返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58294273/

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