【发布时间】:2020-06-06 08:45:22
【问题描述】:
我正在尝试复制已附加到程序中的文件,例如 /usr/share/postgresql/10/extension/ 中的资源(需要 sudo 权限)
如果目标路径在 /home 中,我可以这样做:
QFile file(QStringLiteral(":/resourcefile"));
if(file.open(QIODevice::ReadOnly))
{
file.copy("/home/user/......./resourcefile");
}
但这不是我的情况。因此我必须在this way 中使用QProcess(我认为):
QProcess process1, process2;
process1.setStandardOutputProcess(&process2);
process1.start("echo mypass");
process2.start("sudo -S cp <resourcefile> /usr/share/postgresql/10/extension/file.sql");
process2.setProcessChannelMode(QProcess::ForwardedChannels);
bool retval = false;
QByteArray buffer;
while ((retval = process2.waitForFinished()));
buffer.append(process2.readAll());
.....
问题是....我怎样才能将<resourcefile> 传递给 process2?
【问题讨论】: