コマンドライン引数の受け取り方

プログラムを起動したときにコマンドから渡された引数はCではおなじみのargcやargvなどの引数として受け取れますが、扱いが少し厄介です。

なので、QTではもっと楽にコマンドライン引数を受け取る手段が用意されています。

プログラムが起動されたとき、QCoreApplicationはコマンドライン引数を解析してQStringListに変換するので、それをarguments関数で受け取ることができます。

例えば全てのコマンドライン引数を表示するコードは次のようになります。

QStringList argv = QCoreApplication::arguments();
argv.removeAt(0);
for(QString arg : argv){
    qDebug() << "argument = " << arg;
}

このコードで1つめの要素をremoveAtで消去しているのは1つめの引数にプログラム自身が渡されるため、それを除外するためです。

このようにしてコマンドライン引数をQStringListで取得できるので扱いが面倒なchar型配列を扱わずに済みます。

以上、コマンドライン引数の受け取り方でした。では、また!

関連項目
プライバシーポリシー