【c++】コマンドライン引数の使い方

はじめに

c++で、コマンドライン引数の使い方を説明します。
コマンドライン引数を使うと、c++で作ったプログラムをpythonなど他のプログラムで動かせます。

サンプルプログラム

\(a+b\)の結果を出力するプログラムの例です。

#include <iostream>

int main( int argc, char* argv[] ){
    if( argc != 3 ){
        std::cerr << " Usage : main a b " << std::endl;
    }    // 入力が誤っているときのエラーメッセージ
    double a = std::stod( argv[1] );    //第1引数をaに代入, stodで、文字列からdouble型に変換。
    double b = std::stod( argv[2] );    //第2引数をbに代入。
    std::cout << a << " + " << b << " = " << a + b << std::endl;
    return EXIT_SUCCESS;
}

引数は前から順番にargv[1], argv[2], …., argv[n]と、格納されます。
コマンドライン引数は、文字列型なので、それだけ注意が必要です。
実際、argc, argvのあたりは、呪文だと思って使って大丈夫です。
エラーメッセージのif文の中に入る数字の3は、コマンドライン引数の数+1です。
1の正体は、実行時のmainの文字列です。

コンパイルと実行は以下の通りにコマンドラインに入力します。

g++ -o main main.cc -lm
./main 1 2

これを実行すると、\(1 + 2 = 3\)が出力されます。

まとめ

c++で、コマンドライン引数の使い方を説明しました。
プログラムの幅がぐっと広がるので、習得してしまいましょう。
pythonでc++のプログラムを使う方法は、今後別の記事で紹介します。

コメント

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