- 追加された行はこの色です。
- 削除された行はこの色です。
main関数に引数をつけることで,コマンドラインから引数を取得することができます.
* 指定方法 [#s4f885c7]
main関数の引数は
int main(int argc, char *argv[]){
と指定します.
* 例 [#m7a46691]
これを使ったプログラムは,例えばつぎのようになります.
#include <stdio.h>
int main(int argc, char *argv[]){
int i;
printf("argc = %d\n", argc);
for (i=0 ; i<argc ; i++) {
printf("argv[%d] = %s\n", i, argv[i]);
}
return 0;
}
このプログラムを実行するとき,コマンドラインで引数をつけます.
$ ./arg1 1 2 sakima
すると実行結果は下のようになります.
argc = 4
argv[0] = ./arg1
argv[1] = 1
argv[2] = 2
argv[3] = sakima
argcは「コマンドラインのパラメータの数+1」の整数です. 1足してあるのは,プログラムを実行したコマンド自体(./arg1)も含まれるためです.これは,配列argvの大きさになっています.
argv[0], argv[1], ... は
argv[0] プログラムファイルのパスの文字列へのポインタ
argv[1] 1番目のコマンドライン引数の文字列へのポインタ
argv[2] 2番目のコマンドライン引数の文字列へのポインタ
... ...
のようにコマンドライン引数の文字列へのポインタが納められた配列になっています.