【解決方法】リダイレクトするにはどうすればよいですか "システム" 出力を呼び出しますか?


添付されたスニペットは機能し、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[^]

コメント

タイトルとURLをコピーしました