QStringList
という名前のfilesToCopy
には、コピーするファイル名が含まれています。 私はこの出力を作りたい:QStringListをC++で操作する
%のために私が( "("、 "C:\ Users \ユーザーニーナ\ドキュメント\ A.mp4"、 「C:\ Users \ユーザーニーナ\ドキュメント\ A .SRT」、 "C:\ Users \ユーザーニーナ\ドキュメントは"、 "A.TXTを\)"、 は "%のI"、 "Cにコピーを実行します。\ユーザーは、" 自然科学研究機構\デスクトップ\ zを\)を
このように見えるように:%を
におけるI( "C:\ユーザーはニーナ\ドキュメント\ \ A.mp4" \ユーザー:」C "をC \ Users \ユーザーニーナ\ドキュメントはA.srtを\します" \ Nina \ Documents \ A.txt ")do コピー%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