【发布时间】:2021-08-23 09:05:57
【问题描述】:
我编写了代码,将 QProcess 的输出输出到 QTextStream,而不是显示我需要的行:
QProcess p;
p.start("fdisk",QStringList() << "/dev/sdb" << "-l");
p.waitForFinished();
QString processOutput = p.readAll();
QTextStream processOutputTextStream(&processOutput);
QString line;
while(!processOutputTextStream.atEnd()){
line = processOutputTextStream.readLine();
if(line.contains("Disk /dev/sdb:")){
qDebug() << line;
}
}
输出:
"Disk /dev/sdb: 28.67 GiB, 30765219840 bytes, 60088320 sectors"
我只需要最后一个数字 (60088320)
如何做到这一点?
【问题讨论】:
-
使用
auto words = line.split("");auto number_str = words.at(words.length() - 2);