问题
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