この記事では、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にはそれぞれhello
とworld
が代入されていることがわかります。
以上が、コマンドライン引数から受け取った文字列を他の変数に代入する方法の解説です。
コマンドライン引数を活用することで、プログラムの柔軟性を高めることができます。
ぜひ、実際に試してみてください。
例えば、./a.out hello world
というコマンドを実行すると、hello
とworld
がコマンドライン引数として渡されます。