我有一個名爲filesToCopy
的QStringList
,它包含要複製的文件名。 我想使這個輸出:在C++中操作QStringList
用於%我在( 「(」, 「C:\用戶\尼娜\文檔\ A.mp4」, 「C:\用戶\尼娜\文件\ A污泥齡」, 「C:\用戶\尼娜\文檔\ A.TXT」, 「)」, 「不要複製%I」, 「C:\用戶\ NINS \桌面\ Z」)
看起來是這樣的:
用於%我在( 「C:\用戶\尼娜\文檔\ A.mp4」 「C:\用戶\尼娜\文檔\ A.srt」「C:\用戶\ Nina \ Documents \ A.txt「)做 副本%I 「C:\用戶\尼娜\桌面\ Z」
這是我的代碼:
d->copyProcess = new QProcess(this);
QStringList copyProcessParameters;
Q_FOREACH(QString fileName, fileNames)
{
d->totalFileSize += this->getSize(fileName);
d->filesToCopy.append(fileName);
}
d->filesToCopy.append(")");
d->filesToCopy.prepend("(");
copyProcessParameters.append(d->filesToCopy);
copyProcessParameters.append("do copy %I");
copyProcessParameters.append(destinationDir);
copyProcessParameters.replaceInStrings("/","\\");
qDebug()<<"for %I in" << copyProcessParameters;
d->copyProcess->start("for %I in", copyProcessParameters);
爲什麼要進行系統調用來複制文件?爲什麼不使用QFile來複制文件? – Mofi
我不想使用線程和不使用線程QFileCopy同步工作,我不想。 @Mofi –
你爲什麼不想使用線程?無論如何,外部過程實際上是另一個線程。這似乎是一個XY問題。你真正的目標是什麼? – RobbieE