Main() の引数

提供: RAD Studio
移動先: 案内検索

Main() 関数:インデックス への移動


次の 3 つのパラメータ(引数)が、C++Builder スタートアップ ルーチンによって、main に渡されます: argcargvenv

  • argc は整数で、main に渡されたコマンド ライン引数(実行可能ファイル自体の名前も含む)の数を表します。
  • argv は、文字列のポインタの配列(char *[])です。
    • argv[0] は、実行対象プログラムの完全パス名です。
    • argv[1] は、オペレーティング システムのコマンド ラインでプログラム名の後に入力された最初の文字列のポインタです。
    • argv[2] は、プログラム名の後に入力された 2 番目の文字列のポインタです。
    • argv[argc-1] は、main に渡された最後の引数のポインタです。
    • argv[argc] には NULL が含まれます。
  • env も文字列のポインタの配列です。 env[] の各要素には、ENVVAR=value という形式の文字列が格納されています。
    • ENVVAR は環境変数の名前です(PATH など)。
    • valueENVVAR に設定されている値です(PATH の場合は C:\APPS;C:\TOOLS; など)。

これらのパラメータを宣言する場合には、渡された順にしたがって宣言しなければならず、argcargvenv の順となります。たとえば、以下の例はいずれも有効な 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[])

関連項目