11−4.コマンドライン引数

実は 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」とし、次の手順で実行するものとします。

  1. コンパイル、リンクして、「SMPL.EXE」を作成する。
  2. 引数として「ABC DEF GHI」を指定することとし、

    A:\>SMPL ABC DEF GHI とコマンドラインから入力する。

    (注) Aドライブで実行したとします。 
    
  3. 実行結果を確認する。
(実行結果)
引数の総個数 = 4
0番目の引数 = A:\SMPL.EXE
1番目の引数 = ABC
2番目の引数 = DEF
3番目の引数 = GHI
(注) 処理系によって実行結果が異なる場合があります。 

これはつまり、main(int argc, char *argv[]) に次のように引数が渡ったことを表します。

演習
◆◆前ページ  ▲TOP▲  次ページ◆◆

banner
「初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved