Eri*_*ric 6 c++ qt temporary-files
我想制作一份some/path/myfilein 的副本$TMPDIR/myprog-<random-string>.ext,这样我就可以将它传递给第三方程序,该程序会阻塞无扩展文件.
这是我想要的工作:
QString originalPath = "some/path/myfile";
QTemporaryFile f(
QDir::temp().absoluteFilePath("mprog-XXXXXX.ext")
);
// f.open(); ?
QFile(originalPath).copy(f.fileName());
Run Code Online (Sandbox Code Playgroud)
但是,我现在有一个问题 - 文件尚未存在,因此尚未分配临时fileName()文件,或文件名已分配,但文件本身已存在,阻止新文件被复制到顶部.
如何在QT中将文件复制到临时位置,并在调用QTemporaryFile的析构函数时删除临时副本?
如果该文件不存在,请QTemporaryFile完全按照您所做的那样创建对象,打开它,然后立即关闭它。这将生成随机文件名并将其创建在磁盘上。
当您的QTemporaryFile对象被破坏时,该文件将从磁盘中删除。