引数がないメイン関数には、voidを書いておく。 このプログラム hello1.cpp
を作成し、コンパイルする。 エラーが発生しなくて、うまくいけば、 UNIX系のプログラミング環境下で、 実行ファイルa.outができる。/* hello1.cpp */ #include <stdio.h> int main(void) { printf("Hello!\n"); return 0; }
Hello!と表示される。
今度は、次のプログラム mainarg0.cpp
を作成し、コンパイルする。 エラーが発生しなくて、うまくいけば、 UNIX系のプログラミング環境下で、同様にして、 実行ファイルa.outができる。 名前は同じだが、hello1.cpp とは、別の実行ファイル。/* mainarg0.cpp */ #include <stdio.h> /* printf */ 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; }
と表示される。argc=1 *argv[0]=./a.out
実行は「./a.out」の入力1個だけなので、 argcの値は整数で、 argc = 1となる。 また、文字列*argv[0]は、入力した文字列「./a.out」となる。
と表示される。argc=2 *argv[0]=./a.out *argv[1]=0.5
実行の際、「./a.out」と「0.5」の2個の入力なので、 整数変数argcの値は、 argc = 2となる。 また、 また、文字列*argv[0]は、最初に入力した文字列「./a.out」となり、 文字列*argv[1]は、次に入力した文字列「0.5」となる。
と表示される。argc=4 *argv[0]=./a.out *argv[1]=niihama *argv[2]=ehime *argv[3]=japan
と表示される。argc=6 *argv[0]=./a.out *argv[1]=0 *argv[2]=0.1 *argv[3]=0.9 *argv[4]=1 *argv[5]=2
main関数に引数を与えるには、 整数変数argc と文字列*argv[]を利用できる。
「./a.out」も含めた引数の個数がargcで、 各文字列は、*argv[]となる。