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;
}