Main() の引数
Main() 関数:インデックス への移動
次の 3 つのパラメータ(引数)が、C++Builder スタートアップ ルーチンによって、main
に渡されます: argc
、argv
、env
。
argc
は整数で、main
に渡されたコマンド ライン引数(実行可能ファイル自体の名前も含む)の数を表します。argv
は、文字列のポインタの配列(char *[]
)です。argv[0]
は、実行対象プログラムの完全パス名です。argv[1]
は、オペレーティング システムのコマンド ラインでプログラム名の後に入力された最初の文字列のポインタです。argv[2]
は、プログラム名の後に入力された 2 番目の文字列のポインタです。argv[argc-1]
は、main
に渡された最後の引数のポインタです。argv[argc]
にはNULL
が含まれます。
env
も文字列のポインタの配列です。env[]
の各要素には、ENVVAR=value
という形式の文字列が格納されています。ENVVAR
は環境変数の名前です(PATH
など)。value
はENVVAR
に設定されている値です(PATH
の場合はC:\APPS;C:\TOOLS;
など)。
これらのパラメータを宣言する場合には、渡された順にしたがって宣言しなければならず、argc
、argv
、env
の順となります。たとえば、以下の例はいずれも有効な main
の引数宣言です。
int main()
int main(int argc) /* legal but very unlikely */
int main(int argc, char *argv[])
int main(int argc, char *argv[], char *env[])]
int main(int argc)
という宣言は間違ってはいませんが、プログラム内で argv
の要素を使わずに argc
だけを使うことはほとんどありません。
引数 env
には、グローバル変数 _environ 経由でアクセスすることもできます。
argc
および argv
も、すべてのプラットフォームで、グローバル変数 _argc
および _argv
経由でアクセスすることができます。
Unicode アプリケーションでの main() の使用
Unicode 用の main
関数は次のように宣言されています。
int wmain (int argc, wchar_t *argv[], wchar_t *env[])
argv
(およびオプションの envp
)パラメータではワイド文字をサポートしています。
次の _tmain
関数はマクロであり、アプリケーションの種類に応じて適切な main
関数に展開されます。
int _tmain (int argc, _TCHAR *argv[], _TCHAR *env[])