トップページ >  C >  main関数への引数渡し
初版2003/10/29: 最終更新日2003/10/29
main関数への引数渡し
目次
main関数への引数渡し
main関数への引数渡し
main関数に渡す引数が無い場合、main関数は

int main(void){

~~なんらかの処理~~

}

このように書きます。しかし、main関数に渡す引数が存在する場合、main関数は

int main(int argc,char *argv[]){

~~なんらかの処理~~

}

というように書きます。
argcには、プログラム名を含む引数の個数を格納します。
argvには、プログラム名を含む引数の実際の内容を配列に順に格納します。




/*
main関数への引数渡し
引数の指定が違う場合はディスプレイに引数を出力
*/

#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[]){

if(argc!=3){
fprintf(stderr,"*********************\n");
fprintf(stderr,"起動引数 1:数値\n\n");
fprintf(stderr,"起動引数 2:数値\n");
fprintf(stderr,"*********************\n");
exit(-1);
}

fprintf(stdout,"argc=%d\n",argc);
fprintf(stdout,"argv[0]=%s\n",argv[0]);
fprintf(stdout,"argv[1]=%s\n",argv[1]);
fprintf(stdout,"argv[1]=%s\n",argv[2]);
fprintf(stdout,"%d+%d=%d\n",atoi(argv[1]),atoi(argv[2]),atoi(argv[1])+atoi(argv[2]));

return 0;
}