1999年度のプログラミングIIIの授業は終りました。 この授業のページは参照用の資料として保存しているものです。最新の情報・資料は江上の授業ページで。
[EGAMIX トップ] > [授業のページ] > [1999年度 プログラミングIII] > [授業ノート・資料]

[Back] [Index]
 
コマンドライン引数の取得

コマンドライン引数
 

>> コマンドライン引数

目的


用語

コマンド
コンピュータに作業指示を与えるためのもので、通常は英数字列で表現される

 
コマンドインタープリタ(シェル)
コンピュータシステムの中で、ユーザからの指示(コマンド)を解釈・実行する部分

 
        MS-DOS  には  COMMAND.COM
        UNIX      には  sh, csh, bash 等々

 
コマンドラインインターフェース
GUIと対比され、命令の指示をキャラクタベースで行うユーザインターフェース

 
コマンドライン(コマンド行)
コマンドインタープリタにすべき文字列(命令+オプション)

 
コマンドライン引数(コマンドラインパラメータ)
コマンド(命令)の動作を変えるためのオプションや、処理対象を指定する


>> 例

MS-DOS

     C:\>REN  TEST.C  PROGRAM.C
     C:\>DEL  TEST.BAK

Unix

     bash$ mv  a.out  test
     bash$ cc  test.c

 
 bash$ cc test.c

プロンプト

コマンド

パラメータ(コマンドライン引数)
+−−−−−−−−−−−−−−−−−+
コマンドライン


>> C (と Unix)でのコマンドライン引数の操作
 

 main( ) 関数にはこれまで引数が無かったが、コマンドライン引数の取得には
 C言語の関数呼び出しの考え方を使用する。( return 文を用いて値を返す事も
できる )
   ↓
 コマンドライン引数は main( ) 関数への引数の形で与えられる

 1つ目の引数 ... 引数の数   ... int 型
 2つ目の引数 ... 引数本体(文字列) ... 文字列の配列

 
main ( int argc ,  char *argv[ ]  )

 引数の総数 

 引数本体 
(整数型) (ポインタのポインタ)
(ポインタ配列)
 
☆ 伝統的にコマンドライン引数の変数には "argc", "argv" が使われる(ことがある)。
argc  =  argument count
argv  =  argument vector
  
>> 例題プログラム
>>>その1
 
#include <stdio.h>

main( int argc, char *argv[] )
{
    printf("引数は %d 個\n", argc );

    printf("0番目の引数 %s\n", argv[0] );
    printf("1番目の引数 %s\n", argv[1] );
    printf("2番目の引数 %s\n", argv[2] );
    printf("3番目の引数 %s\n", argv[3] );
}

 
>>>その2
 
#include <stdio.h>

main( int argc, char *argv[] )
{
    int  i;
    printf("引数は %d 個\n", argc );

    for (i = 0; i < argc; i++)
        printf("%d 番目の引数 %s\n", i, argv[0] );
}


 

[Back] [Index]


egami@egamix.com