5

コマンドがQStringで記述されている場合、どのようにsystemコマンドを使用できますか?

好き:

QString command="chmod -R 777 /opt/QT/examples/code/TestGUI/Data";    
system(command);

コンパイル中に、次のエラーが発生します。

cannot convert ‘QString’ to ‘const char*’
  for argument ‘1’ to ‘int system(const char*)’

誰かが何かを提案できますか?

4

6 に答える 6

12

qPrintable()マクロを使用する

system(qPrintable(command));

于 2012-05-29T12:52:13.580 に答える
7

QString から生の文字配列を取得する必要があります。1 つの方法を次に示します。

system(command.toStdString().c_str());
于 2012-05-29T12:21:14.527 に答える
7

Ankur Gupta は次のように書いています。QProcess 静的関数を使用します (説明へのリンク)。

int QProcess::execute ( const QString & program )

あなたの状況では:

QProcess::execute ("chmod -R 777 /opt/QT/examples/code/TestGUI/Data");
于 2012-05-29T13:04:03.930 に答える
6

QProcess クラスhttp://doc.qt.io/qt-5/qprocess.html。それはあなたが必要とするものです。

于 2012-05-29T12:16:41.833 に答える
0

アクセス許可を変更するには、QFile の setPermissions を使用できます

于 2012-09-13T14:07:09.513 に答える