我是Qt的初学者,我的项目的一部分是将现有文件移动到另一个现有目录?有人能给我一个具体的例子吗?我不确定是否应该使用Qfile :: rename()。我尝试写这样的
QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt");
但错误是无法调用成员函数'bool QDir :: rename(const QString&,const QString&)'没有对象 一个QDir ::重命名( “/家/约书亚/ test.txt的”, “/家庭/约书亚/测试/ test_c.txt”); ^
对不起伙计们,一切都是我的错,我问了一个如此不清楚和如此愚蠢的问题,我很抱歉浪费你的时间,我是初学者,在我问这个问题之前,我真的没有注意到这个问题之前有人问过,因为我的水平很低。因为我太天真了,我不能再提问了,所以请原谅我问这个问题,因为我在公司实习,我太压力了,我对我的项目很难,所以我别无选择浪费你的时间,最后,我想感谢那些曾经看过我的问题的人。
答案 0 :(得分:6)
bool QFile :: rename(const QString& newName)
将fileName()当前指定的文件重命名为newName。返回 如果成功则为真;否则返回false。
在您的情况下,您必须执行以下操作:
QFile file("/home/joshua/test.txt");
file.rename("/home/joshua/test/test_c.txt");
答案 1 :(得分:0)
QDir::rename()
是QDir
的实例方法,因此您需要一个QDir
对象来调用它(此目录将成为传递的文件名的基础)。对于您的示例,例如:
QDir d("/home/joshua");
bool renamed = d.rename("test.txt" , "test/test_c.txt");
您需要使用返回值。
或者,您可以使用QFile::rename()
- 默认目录是进程的当前工作目录。