忘れられた三男
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