[PR] この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。
実はメイン関数に引数を持たせることができます。main()はプログラム起動時に最初に実行される関数ですが、プログラム実行時に打ち込んだ文字列とその数が引数になります。
int main(int 文字列の数, char* 文字列配列[])
第一引数を「argc」、第二引数を「argv」として、
int main(int argc, char* argv[])
と書くことが多いですが、変数名は別に何でも構いません。また、第二引数をポインタの配列ではなく、ポインタのポインタにする人もいます。
int main(int argc, char** argv)
どちらも扱いには大差ありません。ここでは、第一引数をargc、第二引数をargvという名前のポインタ配列にしたとして、話を進めていきます。
実際にプログラムを実行したとき、
./a.out ABCD
であれば、 argc = 2、 argv[0] = "./a.out"、 argv[1] = "ABCD"となります。プログラム名も引数に含まれることに注意してください。
さらに、
./a.out ABCD EFGH IJKL
とすれば、 argc = 4、 argv[0] = "./a.out"、 argv[1] = "ABCD"、 argv[2] = "EFGH"、 argv[3] = "IJKL"の4つが引数となります。
#include <stdio.h> int main(int argc, char* argv[]){ int i; for(i = 0; i < argc; i++){ printf("%s\n",argv[i]); } return 0; }
main()の戻り値はreturnでセットできます。0をセットすることが多いです。OSなどに戻り値を渡して終了します。
また、プログラムを途中で強制的に終了する場合はexit()関数を使用します。stdlib.hのインクルードが必要です。
void exit(int ステータス)
ステータスにセットした値がOSなどに渡されます。