【C言語】コマンドライン引数の文字列を他の変数に代入する方法を解説

この記事では、C言語においてコマンドライン引数から受け取った文字列を他の変数に代入する方法を解説します。

目次から探す

コマンドライン引数の文字列を扱う方法

コマンドライン引数は、プログラムを実行する際にコマンドラインから渡される情報です。

C言語では、main関数の引数としてコマンドライン引数を受け取ることができます。

文字列を他の変数に代入する方法

コマンドライン引数から受け取った文字列を他の変数に代入するには、まずmain関数の引数を利用します。

main関数の引数は、通常、argcとargvという2つの変数で受け取ります。

argcはコマンドライン引数の数を表し、argvは文字列の配列としてコマンドライン引数を格納します。

以下のサンプルコードを見てみましょう。

#include <stdio.h>
int main(int argc, char *argv[]) {
    // コマンドライン引数の数を表示
    printf("引数の数: %d\n", argc);
    // コマンドライン引数の文字列を表示
    for (int i = 0; i < argc; i++) {
        printf("引数%d: %s\n", i, argv[i]);
    }
    // コマンドライン引数の文字列を他の変数に代入
    char *arg1 = argv[1];
    char *arg2 = argv[2];
    // 代入した変数の値を表示
    printf("arg1: %s\n", arg1);
    printf("arg2: %s\n", arg2);
    return 0;
}

上記のコードでは、まずargcを使ってコマンドライン引数の数を表示しています。

次に、forループを使ってargvの中身を順番に表示しています。

そして、argvの要素を他の変数に代入しています。

ここでは、arg1とarg2という変数にargv[1]とargv[2]を代入しています。

実際に上記のコードを実行してみましょう。

以下のようにコマンドライン引数を指定してプログラムを実行します。

$ ./a.out hello world

すると、以下のような結果が表示されます。

引数の数: 3
引数0: ./a.out
引数1: hello
引数2: world
arg1: hello
arg2: world

コマンドライン引数の数が3であること、argvの要素が正しく表示されていることが確認できます。

また、arg1とarg2にはそれぞれhelloworldが代入されていることがわかります。

以上が、コマンドライン引数から受け取った文字列を他の変数に代入する方法の解説です。

コマンドライン引数を活用することで、プログラムの柔軟性を高めることができます。

ぜひ、実際に試してみてください。

コマンドライン引数は、プログラムを実行する際にコマンドラインに入力する情報です。

例えば、./a.out hello worldというコマンドを実行すると、helloworldがコマンドライン引数として渡されます。

目次から探す