[ad_1]
添付されたスニペットは機能し、QtCreator の「コンソール」に「出力」されます。
必要に応じて出力をリダイレクトする必要があります…今のところは「結果」に…
コボル
int RESULT = system(" echo q | sudo -S hcitool info 98:D3:31:F8:39:33 ") ; if(RESULT == 0) { text = " SUCCESS "; text += "Elapsed time "; text += QString::number(QET->elapsed()); text += " mS "; ui->textEdit->append(text); qDebug() << text; ui->textEdit->append(result); qDebug() << result; }
私が試したこと:
C++
int RESULT = system(" echo q | sudo -S hcitool info 98:D3:31:F8:39:33 > result") ;
この方法でリダイレクトすると、コンソールからの出力が停止し、「result」に値が表示されなくなりました。
「| > result」を追加しても役に立ちませんでした/
解決策 1
system() は使用しないでください。 Popen() を使用します。 Popen(3) – Linux マニュアル ページ[^]
あるいは、QProcess が必要なことを実行する必要があります。
または boost::process() : 第28章 Boost.Process – 1.84.0[^]
[ad_2]
コメント