int argc, char *argv[] はどういう意味ですか? 質問する

int argc, char *argv[] はどういう意味ですか? 質問する

多くの C++ IDE およびコンパイラでは、メイン関数を生成すると次のようになります。

int main(int argc, char *argv[])

IDE を使わず、コマンドライン コンパイラだけで C++ をコーディングする場合は、次のように入力します。

int main()

パラメータなし。これは何を意味するのでしょうか。また、プログラムにとって重要なのでしょうか。

ベストアンサー1

argvおよびC および C++ でargcコマンドライン引数を渡す方法です。main()

argcは、によって指される文字列の数になりますargv。これは、実質的にすべての実装でプログラム名が配列の先頭に追加されるため、実際には引数の数に 1 を加えた数になります。

変数は慣例によりargc(引数カウント) およびargv(引数ベクター) と名付けられますが、任意の有効な識別子を指定できます。int main(int num_args, char** arg_strings)も同様に有効です。

int main()コマンドライン引数を処理するつもりがない場合は、それらを完全に省略して を生成することもできます。

次のプログラムを試してください。

#include <iostream>

int main(int argc, char** argv) {
    std::cout << "Have " << argc << " arguments:\n";
    for (int i = 0; i < argc; ++i) {
        std::cout << argv[i] << "\n";
    }
}

実行すると、./test a1 b2 c3出力は

Have 4 arguments:
./test
a1
b2
c3

おすすめ記事