実は main関数にも引数を渡すことができます。 この main関数に渡す引数のことを「コマンドライン引数」といいます。
main関数へ渡せる引数は、
引数の総個数
引数の文字列を指すポインタの配列
の 2つです。
一般に
int main(int argc, char *argv[]) と記述し、
int argc: 引数の総個数(プログラム名も含む)
char *argv[]: 引数の文字列を指すポインタの配列を表します。
とりあえず、下の例を見てみましょう。
#include <stdio.h> int main(int argc,char *argv[]) { int i; printf("引数の総個数 = %d\n", argc); for (i = 0; i < argc; i++) { printf("%d番目の引数 = %s\n", i, argv[i]); } return 0; }
このプログラムの名称を「SMPL.C」とし、次の手順で実行するものとします。
引数として「ABC DEF GHI」を指定することとし、
A:\>SMPL ABC DEF GHI とコマンドラインから入力する。
(注) Aドライブで実行したとします。
引数の総個数 = 4 0番目の引数 = A:\SMPL.EXE 1番目の引数 = ABC 2番目の引数 = DEF 3番目の引数 = GHI
(注) 処理系によって実行結果が異なる場合があります。
これはつまり、main(int argc, char *argv[]) に次のように引数が渡ったことを表します。
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved