【发布时间】:2019-12-07 06:22:13
【问题描述】:
我是 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 重命名错误,它将无法正常工作。请帮我处理这段代码。我看过其他关于此的帖子,但它们似乎没有帮助。
【问题讨论】:
-
我使用了您的代码示例,如果
argv包含有效的文件名或路径 + 文件名,它就可以工作。 -
它们是有效的路径,但我会尝试几种不同的方法,看看能否找出我的路径有什么问题。谢谢!