Question

I'm going to copy one file using QFile::copy function but this function always returns false and errorString says :

"Cannot open D:/tmp/buf34.txt for input" 

I tried to run this program with administrator privilege but nothing changed. My code is really simple :

  QString source = url.toLocalFile();
  QString destination = _dir.absolutePath()
            + QString("/%1").arg(QFileInfo(source).fileName());
  qDebug()<<"Cp from :" << source << " to : "<< destination;
  QFile file(source);
  qDebug()<<file.copy(destination);
  qDebug()<<file.errorString();

Edit: I have QListView occupied with a QFileSystemModel. I try to drag one file from this ListView to a QLabel. For the QLabel a destination path is set. In drop event I try to copy file.

Was it helpful?

Solution

QFile::copy uses QFile::open but overwrites the error message open would give by the unhelpful "Cannot open %1 for input" you got.

So, you should try opening the file yourself to get that original error message:

qDebug()<<file.open(QFile::ReadOnly);
qDebug()<<file.errorString();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top