引数がないメイン関数には、voidを書いておく。 このプログラム hello1.cpp
/* hello1.cpp */
#include <stdio.h>
int main(void)
{
printf("Hello!\n");
return 0;
}
を作成し、コンパイルする。
エラーが発生しなくて、うまくいけば、
UNIX系のプログラミング環境下で、
実行ファイルa.outができる。
Hello!と表示される。
今度は、次のプログラム mainarg0.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;
}
を作成し、コンパイルする。
エラーが発生しなくて、うまくいけば、
UNIX系のプログラミング環境下で、同様にして、
実行ファイルa.outができる。
名前は同じだが、hello1.cpp とは、別の実行ファイル。
と表示される。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[]となる。