thisdesuのブログ

C言語はじめました

にほんブログ村 IT技術ブログ C/C++へ

忘れられた三男

main関数には三番目の引数が有ります。良くある教本では省略されている事が多いですが、有っても余り利用する機会が無さそう。

書式: int main(int argc, char *argv, char *envv)
argc : 引数の数。引数なしの状態で1です。
argv : 引数の配列。最初は[0]プログラム名
envv : 実行時の環境変数の配列。最後はnull
■ちょっと僕も作ってみた

#include <stdio.h>

int main(int argc, char *argv[], char *envv[]) {
  int i;

  printf("argc:%d\n",argc);
  for(i=0;i<argc;i++) {
    printf("argv[%d]:%s\n",i,argv[i]);
  }
  for(i=0;envv[i];i++) {
    printf("envv[%d]:%s\n",i,envv[i]);
  }
  return 0;
}


■結果

$ gcc main.c
$ ./a.out fst snd thd
argc:4
argv[0]:./a.out
argv[1]:fst
argv[2]:snd
argv[3]:thd
envv[0]:TERM=xterm
envv[1]:SHELL=/bin/bash
envv[2]:USER=sample
envv[3]:PATH=/usr/local/bin:/bin:/usr/bin
envv[4]:PWD=/home/sample
envv[5]:LANG=ja_JP.UTF-8
envv[6]:HOME=/home/sample
envv[7]:DISPLAY=localhost:0.0