プログラムを実行するときに、オプションとしてパラメータを渡すことができる・・・。
$ ./program abc
例えば、このようにprogramに"abc"という文字列を渡せる・・・。
これをコマンドライン引数ともいい、これはmain関数の引数として渡されるので、
int main(void){ }
としていたmain関数を
int main(int argc, char *argv[]){ }
と変える・・・。
このようにコマンドライン引数を受け取るようにすることで、渡された引数をmain関数の中で使える・・・。
argcは引数の個数、argvは各引数文字列へのポインタを格納した配列・・・。
このプログラムは各argvの文字列(つまり渡されたコマンドライン引数)すべてを出力するもの・・・。
$ vi main_function_argument.c $ gcc main_function_argument.c -o main_function_argument $ ./main_function_argument argv[0] = ./main_function_argument $ ./main_function_argument abc argv[0] = ./main_function_argument argv[1] = abc $ ./main_function_argument abc def argv[0] = ./main_function_argument argv[1] = abc argv[2] = def $ ./main_function_argument abc def ghi argv[0] = ./main_function_argument argv[1] = abc argv[2] = def argv[3] = ghi $
このように後ろに付けたパラメータがmain関数に渡されprintfで出力できている・・・。
実行プログラム名も0番目のコマンドライン引数として渡される・・・。
(環境によってそうでない場合もあるので注意・・・。)
Sample/main_function_argument.c at master · bg1bgst333/Sample · GitHub