LINUX.ORG.RU

QProcess выдает пустую строку при выполнение команды «ls /dev/ | grep sda1»

 ,


0

2

Хочу понять есть ли монтированая USB флешка. Делаю в консоле:

root@pi:~#  ls /dev/ | grep sda1
sda1

Делаю в qt:

    QProcess df;
    df.start("ls", QStringList()<< "/dev/ | grep sda1");
    df.waitForFinished();
    QString str = df.readAll();
    qDebug() << str;

Вывод str ""



Последнее исправление: Alex_Golubev (всего исправлений: 1)

Ответ на: комментарий от EXL

qdevicewatcher дает события вставил флешку вытащил. А мне нужно понять в момент запуска программы есть флешка. qdevicewatcher я уже подключил.

Alex_Golubev
() автор топика
Последнее исправление: Alex_Golubev (всего исправлений: 1)
Ответ на: комментарий от Alex_Golubev
#include <QList>
#include <QStorageInfo>
#include <QtDebug>

int main(int argc, char *argv[])
{
    for (auto i : QStorageInfo::mountedVolumes()) {
        qDebug() << i.device();
        qDebug() << "  " << i.fileSystemType();
        qDebug() << "  " << i.rootPath();
        qDebug() << "  " << i.displayName();
        qDebug() << "  " << i.name() << "\n";
    }

    return 0;
}
DrBrown
()