田中太郎
C言語でコマンドライン引数を使えるようにします
サンプルコード
sample.cpp
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int a = atoi(argv[1]);
int b = atoi(argv[2]);
char *c = argv[3];
printf("arg = %d\n", argc);
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("c = %s\n", c);
return 0;
}
実行結果
gcc sample.cpp
./a.out 10 2 hoge
# 出力
# arg = 4
# a = 10
# b = 2
# c = hoge
解説
int main(int argc, char *argv[]){
argcには引数+1の数が入ります
今回は、「10」, 「2」, 「hoge」の3つを与えているので4が返ってきます
argv[] には引数が、文字列型で入ります
argv[0]は実行ファイル(今回はa.out)が入り、それ以降は順番に引数が入ります
int a = atoi(argv[1]);
int b = atoi(argv[2]);
char *c = argv[3];
argv[1], argv[2]は数字を与えているので、<stdlib.h> をインクルードしてatoi()関数で文字列型からint型にコンバートしています
まとめ
C言語でコマンドライン引数を使用する方法でした
コメント