How to move a file to another existing directory in Qt

雨燕双飞 提交于 2019-12-04 04:14:52

问题


I am a beginner in Qt, one part of my project is moving a existing file to another existing directory? Can someone gives me a specific example? I am not sure whether I should use Qfile::rename(). I try write like this

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

but the error is cannot call member function 'bool QDir::rename(const QString&, const QString&)' without object QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt"); ^

Sorry guys, all are my wrong, I asked a so unclear and so stupid question, I am so sorry for wasting your time, I am a beginner, before I asked this question, I really really had not noticed that this question have been asked before, because my level is to low. Because I am too naive, I can not ask question anymore, so please, please forgive me asked this question, I am too stress because I internship at a company, my project for me is quite hard so that I have no choice to do such a wasting your time thing, lastly, I want to say thank you for those who had seen my questions before.


回答1:


According to the documentation:

bool QFile::rename(const QString &newName)

Renames the file currently specified by fileName() to newName. Returns true if successful; otherwise returns false.

In your case you must do the following:

QFile file("/home/joshua/test.txt");
file.rename("/home/joshua/test/test_c.txt");



回答2:


QDir::rename() is an instance method of QDir, so you need a QDir object on which to call it (and this directory will be the base for the filenames passed). For your example, something like:

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

You will want to make use of the return value.

Alternatively, you could use QFile::rename() - the default directory for that is the process's current working directory.



来源:https://stackoverflow.com/questions/45138252/how-to-move-a-file-to-another-existing-directory-in-qt

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!