使用QProcess执行命令,并将结果存储在QStringList中
Execute Command with QProcess and Store result in QStringList
我编写了以下函数,该函数执行windows枚举命令以获取共享文件夹,并将结果存储在QString中。
QProcess p;
p.setProgram("wmic");
p.setArguments({"share", "get", "name"});
p.start();
if (!p.waitForFinished()) {
return;
}
const QString output = p.readAllStandardOutput();
qDebug () << output;
const QString error = p.readAllStandardError();
if (!error.isEmpty()) {
qDebug () << error;
}
但是输出有很多分隔符,比如";\n\r"。。。所以我想从字符串输出中去掉所有这些分隔符。在下一步中,您认为我们将得到如下结果:
C$
D$
E$
IPC$
所以我想把这些名字保存在一个QStringList中,或者类似于一个列表的东西中,我可以把这些名字独立地附加在组合窗口小部件中。我该怎么做?
您可以使用qstring-split:
QStringList list = output.split("n", QString::SkipEmptyParts);
如果你需要更多的";"智能";可以在正则表达式中传递的拆分:
list = output.split(QRegExp("...some regex..."));
跳过空的部分只是";删除"/忽略任何可能为空的值-我认为在这种情况下不需要
相关文章:
- 使用QProcess执行命令,并将结果存储在QStringList中
- C++ SSE 内部函数:将结果存储在变量中
- Boost program_options将多个配置文件解析结果存储到一个parsed_options中
- 调用一个小函数两次(例如在if条件和主体中)比将结果存储在局部变量中更可取
- 是否可以使用 Wojciech Mula 算法将 __m256i 个 32 位字而不是 4 个 64 位字存储为弹出计数和结果?
- C++使用存储过程返回结果
- 如何防止方法的调用方将结果存储在C++中
- 什么是在C 中存储结果INT*的最佳数据类型
- 如何乘以两个值并原子存储结果
- 如果结果存储在变量中forward_as_tuple然后在 std::apply 中使用之前丢失右值引用
- 从函数的返回值将元素C++存储到 std::vector 中时出现意外结果
- 如何将结果存储到文本文件中
- 在QT列表中存储DB的查询结果的更好方法
- 为什么设置const变量(将以相同的值存储)会导致不同的结果
- 如何在不复制的情况下将过滤向量的结果存储在另一个向量中
- 将稀疏 mat-vec-mult 的结果存储到预分配的向量中
- 接受任意数量的回调并存储结果的 C++ 类方法
- 如何存储CUDA内核函数的Bool结果
- 根据定界符将字符串向量分开,并将结果存储在结构中
- 如何从源与存储库中安装相同的结果安装相同的结果