【发布时间】:2013-07-06 17:10:53
【问题描述】:
我正在使用 QT 进程从我在笔记本电脑中安装和配置的 lm-sensors 库中获取信息。我想从命令行读取信息并将其显示在我的 QT GUI 上,所以这就是我的正在做:
首先当我在控制台中使用这个命令时,我得到这个输出..
$ sensors | grep "Core "
Core 0: +51.0°C (high = +86.0°C, crit = +100.0°C)
Core 1: +49.0°C (high = +86.0°C, crit = +100.0°C)
我想在我的代码中解析这个..所以我这样做了
process->start("sensors | grep \"Core\"");
process->waitForReadyRead();
QByteArray strdata = process->readLine();
qDebug() << strdata;
我在输出中得到了这个
"Try `sensors -h' for more information
当我将命令行更改为
process->start("watch \"sensors | grep \"Core \"\"")
我得到了像上面这样的输出..我尝试了不同的函数来只得到 Core 0: +51 而没有额外的东西..
我尝试使用 indexOf() 函数获取索引,然后使用 mid() 之类的函数对其进行解析 .. 结果不正确 .. 然后我尝试了 right() 和 left() 函数,它们给了我错误的输出也!!!
有什么帮助吗?
【问题讨论】:
标签: c++ regex string qt substring