将 SDelete 集成到 C++ 程序中

Integrating SDelete into C++ Program

我正在尝试使用 SDelete 安全地清除目录。我知道这是从命令行使用的,但是我将如何从我的 C++ 代码中自动清除目录,如果它具有内置函数,也可以使用 Qt。我无法通过搜索找到任何东西,这是我第一次做这样的事情。非常感谢任何帮助,谢谢。

最好不要尝试重新创建 SDelete 的功能。要像 SDelete 那样出色地工作,需要做大量的工作。调用现有应用程序是明智的选择。

现在,关于你的问题......如果你想使用QT,那么你需要的是这样的:

QString path = QString("sdelete", QStringList() << "Bogus.txt");
QProcess sdelete;

sdelete.start( path );
sdelete.waitForFinished();

这将使用参数 Bogus.txt 启动进程 sdelete,然后等待应用程序完成。


更多信息:https://doc.qt.io/archives/qt-4.8/qprocess.html#start

来自 OP 的编辑:我发现使用以下方法对我有用,参数被传递为 QString。

QProcess::execute("sdelete -s path");