応用情報技術者試験 - SE娘の剣 -

応用情報処理技術者試験の対策サイトです。 応用情報処理技術者試験の午前問題を中心とした基礎用語の解説を中心に掲載します。書き始めたばかりなので、内容はまだまだ不十分です。少しずつ追記していきます

int main(int argc,const char *argv[])とコマンドラインにおける引数

以下のように、実行するプログラムに引数をつけて渡す場合があります。
# program.exe 123

ping 10.1.1.1なども、pingコマンドに10.1.1.1を引数としてつけますね。
このとき、int main(int argc,const char *argv)を使います。
では、以下のプログラム(arg.c)をコンパイルして実行しましょう。
#include <stdio.h>
int main(int argc,const char *argv)
{
 int count;
 for(count=0;count<argc;count++){
  printf("argv[%d]=%s\n",count,argv[count]);
 }
 return 0;
}
※argc = argument count (コマンドラインからの引数の数)。argv = argument vector 
実行結果は、以下のようになります。

c:\pg>arg.exe I am a boy.
argv[0]=arg.exe
argv[1]=I
argv[2]=am
argv[3]=a
argv[4]=boy.