6

我是 Qt 的初学者,我的项目的一部分是将现有文件移动到另一个现有目录?有人可以给我一个具体的例子吗?我不确定是否应该使用 Qfile::rename()。我试着这样写

QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt"); 

但错误是无法在没有对象 QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.文本”); ^

对不起各位,都是我的错,我问了一个这么不清楚又这么愚蠢的问题,非常抱歉浪费你们的时间,我是初学者,在我问这个问题之前,我真的没有注意到这个问题已经被问到了以前,因为我的水平太低了。因为太天真,不能再提问了,所以请原谅我问了这个问题,我压力太大因为我在公司实习,我的项目对我来说是相当困难的,所以我别无选择浪费你的时间,最后,我想说谢谢那些以前看过我的问题的人。

4

2 回答 2

8

根据文档

bool QFile::rename(const QString &newName)

将当前由 fileName() 指定的文件重命名为 newName。成功则返回真;否则返回假。

在您的情况下,您必须执行以下操作:

QFile file("/home/joshua/test.txt");
file.rename("/home/joshua/test/test_c.txt");
于 2017-07-17T08:31:23.997 回答
0

QDir::rename()是 的实例方法QDir,因此您需要一个QDir对象来调用它(并且此目录将是传递的文件名的基础)。对于您的示例,例如:

QDir d("/home/joshua");
bool renamed = d.rename("test.txt" , "test/test_c.txt");

您将需要使用返回值。

或者,您可以使用QFile::rename()- 默认目录是进程的当前工作目录。

于 2017-07-17T10:18:37.280 回答